/*
 * Copyright (c) 2021, 2024, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

#include "shared.h"

EXPORT void sf0_V__(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15); }
EXPORT void sf0_V_I_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_F_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_D_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_P_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_S_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void sf0_V_II_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_ID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_IS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_FS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_DS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_PS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf0_V_SF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_SS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void sf1_V_III_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf1_V_IPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_IPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_ISS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FII_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf2_V_FFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf3_V_FSS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_FSS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_FSS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_FSS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_FSS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_FSS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DII_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf4_V_DSD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_DSS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PII_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf5_V_PSI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_PSS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SII_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SIF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf6_V_SID_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SID_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf7_V_SDI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf8_V_SPD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, int p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, int)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, float p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, float)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, double p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, double)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, void* p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, void*)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, struct S_I p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, struct S_I)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, struct S_F p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, struct S_F)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, struct S_D p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, struct S_D)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, struct S_P p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, struct S_P)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, struct S_II p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, struct S_II)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, struct S_IF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, struct S_IF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, struct S_ID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, struct S_ID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, struct S_IP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, struct S_IP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, struct S_FI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, struct S_FI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, struct S_FF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, struct S_FF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, struct S_FD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, struct S_FD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, struct S_FP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, struct S_FP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, struct S_DI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, struct S_DI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, struct S_DF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, struct S_DF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, struct S_DD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, struct S_DD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, struct S_DP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, struct S_DP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, struct S_PI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, struct S_PI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, struct S_PF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, struct S_PF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, struct S_PD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, struct S_PD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, struct S_PP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, struct S_PP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, struct S_III p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, struct S_III)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, struct S_IIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, struct S_IIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, struct S_IID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, struct S_IID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, struct S_IIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, struct S_IIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, struct S_IFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, struct S_IFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, struct S_IFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, struct S_IFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, struct S_IFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, struct S_IFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, struct S_IFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, struct S_IFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, struct S_IDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, struct S_IDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, struct S_IDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, struct S_IDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, struct S_IDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, struct S_IDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, struct S_IDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, struct S_IDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, struct S_IPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, struct S_IPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, struct S_IPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, struct S_IPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf9_V_SSS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, struct S_IPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, struct S_IPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, struct S_IPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, struct S_IPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, struct S_FII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, struct S_FII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, struct S_FIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, struct S_FIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, struct S_FID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, struct S_FID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, struct S_FIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, struct S_FIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, struct S_FFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, struct S_FFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, struct S_FFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, struct S_FFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, struct S_FFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, struct S_FFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, struct S_FFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, struct S_FFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, struct S_FDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, struct S_FDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, struct S_FDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, struct S_FDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, struct S_FDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, struct S_FDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, struct S_FDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, struct S_FDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, struct S_FPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, struct S_FPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, struct S_FPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, struct S_FPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, struct S_FPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, struct S_FPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, struct S_FPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, struct S_FPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, struct S_DII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, struct S_DII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, struct S_DIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, struct S_DIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, struct S_DID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, struct S_DID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, struct S_DIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, struct S_DIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, struct S_DFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, struct S_DFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, struct S_DFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, struct S_DFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, struct S_DFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, struct S_DFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, struct S_DFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, struct S_DFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, struct S_DDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, struct S_DDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, struct S_DDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, struct S_DDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, struct S_DDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, struct S_DDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, struct S_DDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, struct S_DDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, struct S_DPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, struct S_DPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, struct S_DPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, struct S_DPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, struct S_DPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, struct S_DPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, struct S_DPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, struct S_DPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, struct S_PII p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, struct S_PII)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, struct S_PIF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, struct S_PIF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, struct S_PID p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, struct S_PID)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, struct S_PIP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, struct S_PIP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, struct S_PFI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, struct S_PFI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, struct S_PFF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, struct S_PFF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, struct S_PFD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, struct S_PFD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, struct S_PFP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, struct S_PFP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, struct S_PDI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, struct S_PDI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, struct S_PDF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, struct S_PDF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, struct S_PDD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, struct S_PDD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, struct S_PDP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, struct S_PDP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, struct S_PPI p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, struct S_PPI)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, struct S_PPF p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, struct S_PPF)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, struct S_PPD p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, struct S_PPD)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void sf10_V_SSS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, struct S_PPP p2,  void (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, struct S_PPP)) { cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf10_I_I_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT float sf10_F_F_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT double sf10_D_D_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT void* sf10_P_P_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_I sf10_S_S_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_F sf10_S_S_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_D sf10_S_S_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_P sf10_S_S_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_II sf10_S_S_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IF sf10_S_S_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_ID sf10_S_S_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IP sf10_S_S_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FI sf10_S_S_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FF sf10_S_S_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FD sf10_S_S_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FP sf10_S_S_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DI sf10_S_S_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DF sf10_S_S_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DD sf10_S_S_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DP sf10_S_S_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PI sf10_S_S_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PF sf10_S_S_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PD sf10_S_S_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PP sf10_S_S_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_III sf10_S_S_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IIF sf10_S_S_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IID sf10_S_S_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IIP sf10_S_S_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IFI sf10_S_S_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IFF sf10_S_S_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IFD sf10_S_S_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IFP sf10_S_S_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IDI sf10_S_S_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IDF sf10_S_S_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IDD sf10_S_S_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IDP sf10_S_S_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IPI sf10_S_S_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IPF sf10_S_S_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IPD sf10_S_S_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_IPP sf10_S_S_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FII sf10_S_S_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FIF sf10_S_S_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FID sf10_S_S_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FIP sf10_S_S_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FFI sf10_S_S_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FFF sf10_S_S_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FFD sf10_S_S_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FFP sf10_S_S_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FDI sf10_S_S_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FDF sf10_S_S_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FDD sf10_S_S_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FDP sf10_S_S_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FPI sf10_S_S_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FPF sf10_S_S_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FPD sf10_S_S_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_FPP sf10_S_S_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DII sf10_S_S_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DIF sf10_S_S_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DID sf10_S_S_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DIP sf10_S_S_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DFI sf10_S_S_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DFF sf10_S_S_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DFD sf10_S_S_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DFP sf10_S_S_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DDI sf10_S_S_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DDF sf10_S_S_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DDD sf10_S_S_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DDP sf10_S_S_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DPI sf10_S_S_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DPF sf10_S_S_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DPD sf10_S_S_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_DPP sf10_S_S_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PII sf10_S_S_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PIF sf10_S_S_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PID sf10_S_S_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PIP sf10_S_S_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PFI sf10_S_S_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PFF sf10_S_S_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PFD sf10_S_S_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PFP sf10_S_S_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PDI sf10_S_S_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PDF sf10_S_S_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PDD sf10_S_S_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PDP sf10_S_S_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PPI sf10_S_S_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PPF sf10_S_S_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PPD sf10_S_S_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT struct S_PPP sf10_S_S_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0); }
EXPORT int sf10_I_II_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_ID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf10_I_IS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT float sf10_F_FS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT double sf10_D_DS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT void* sf10_P_PS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_I sf10_S_SI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_F sf10_S_SI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_D sf10_S_SI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_P sf10_S_SI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_II sf10_S_SI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IF sf10_S_SI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_ID sf10_S_SI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IP sf10_S_SI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FI sf10_S_SI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FF sf10_S_SI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FD sf10_S_SI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FP sf10_S_SI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DI sf10_S_SI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DF sf10_S_SI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DD sf10_S_SI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DP sf10_S_SI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PI sf10_S_SI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PF sf10_S_SI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PD sf10_S_SI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PP sf10_S_SI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_III sf10_S_SI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIF sf10_S_SI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IID sf10_S_SI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIP sf10_S_SI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFI sf10_S_SI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFF sf10_S_SI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFD sf10_S_SI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFP sf10_S_SI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDI sf10_S_SI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDF sf10_S_SI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDD sf10_S_SI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDP sf10_S_SI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPI sf10_S_SI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPF sf10_S_SI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPD sf10_S_SI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPP sf10_S_SI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FII sf10_S_SI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIF sf10_S_SI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FID sf10_S_SI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIP sf10_S_SI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFI sf10_S_SI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFF sf10_S_SI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFD sf10_S_SI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFP sf10_S_SI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDI sf10_S_SI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDF sf10_S_SI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDD sf10_S_SI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDP sf10_S_SI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPI sf10_S_SI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPF sf10_S_SI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPD sf10_S_SI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPP sf10_S_SI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DII sf10_S_SI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIF sf10_S_SI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DID sf10_S_SI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIP sf10_S_SI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFI sf10_S_SI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFF sf10_S_SI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFD sf10_S_SI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFP sf10_S_SI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDI sf10_S_SI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDF sf10_S_SI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDD sf10_S_SI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDP sf10_S_SI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPI sf10_S_SI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPF sf10_S_SI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPD sf10_S_SI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPP sf10_S_SI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PII sf10_S_SI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIF sf10_S_SI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PID sf10_S_SI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIP sf10_S_SI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFI sf10_S_SI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFF sf10_S_SI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFD sf10_S_SI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFP sf10_S_SI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDI sf10_S_SI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDF sf10_S_SI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDD sf10_S_SI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDP sf10_S_SI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPI sf10_S_SI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPF sf10_S_SI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPD sf10_S_SI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPP sf10_S_SI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_I sf10_S_SF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_F sf10_S_SF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_D sf10_S_SF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_P sf10_S_SF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_II sf10_S_SF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IF sf10_S_SF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_ID sf10_S_SF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IP sf10_S_SF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FI sf10_S_SF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FF sf10_S_SF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FD sf10_S_SF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FP sf10_S_SF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DI sf10_S_SF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DF sf10_S_SF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DD sf10_S_SF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DP sf10_S_SF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PI sf10_S_SF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PF sf10_S_SF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PD sf10_S_SF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PP sf10_S_SF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_III sf10_S_SF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIF sf10_S_SF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IID sf10_S_SF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIP sf10_S_SF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFI sf10_S_SF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFF sf10_S_SF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFD sf10_S_SF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFP sf11_S_SF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDI sf11_S_SF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDF sf11_S_SF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDD sf11_S_SF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDP sf11_S_SF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPI sf11_S_SF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPF sf11_S_SF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPD sf11_S_SF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPP sf11_S_SF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FII sf11_S_SF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIF sf11_S_SF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FID sf11_S_SF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIP sf11_S_SF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFI sf11_S_SF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFF sf11_S_SF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFD sf11_S_SF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFP sf11_S_SF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDI sf11_S_SF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDF sf11_S_SF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDD sf11_S_SF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDP sf11_S_SF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPI sf11_S_SF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPF sf11_S_SF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPD sf11_S_SF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPP sf11_S_SF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DII sf11_S_SF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIF sf11_S_SF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DID sf11_S_SF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIP sf11_S_SF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFI sf11_S_SF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFF sf11_S_SF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFD sf11_S_SF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFP sf11_S_SF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDI sf11_S_SF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDF sf11_S_SF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDD sf11_S_SF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDP sf11_S_SF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPI sf11_S_SF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPF sf11_S_SF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPD sf11_S_SF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPP sf11_S_SF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PII sf11_S_SF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIF sf11_S_SF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PID sf11_S_SF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIP sf11_S_SF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFI sf11_S_SF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFF sf11_S_SF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFD sf11_S_SF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFP sf11_S_SF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDI sf11_S_SF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDF sf11_S_SF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDD sf11_S_SF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDP sf11_S_SF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPI sf11_S_SF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPF sf11_S_SF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPD sf11_S_SF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPP sf11_S_SF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_I sf11_S_SD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_F sf11_S_SD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_D sf11_S_SD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_P sf11_S_SD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_II sf11_S_SD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IF sf11_S_SD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_ID sf11_S_SD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IP sf11_S_SD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FI sf11_S_SD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FF sf11_S_SD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FD sf11_S_SD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FP sf11_S_SD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DI sf11_S_SD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DF sf11_S_SD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DD sf11_S_SD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DP sf11_S_SD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PI sf11_S_SD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PF sf11_S_SD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PD sf11_S_SD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PP sf11_S_SD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_III sf11_S_SD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIF sf11_S_SD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IID sf11_S_SD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIP sf11_S_SD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFI sf11_S_SD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFF sf11_S_SD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFD sf11_S_SD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFP sf11_S_SD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDI sf11_S_SD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDF sf11_S_SD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDD sf11_S_SD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDP sf11_S_SD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPI sf11_S_SD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPF sf11_S_SD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPD sf11_S_SD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPP sf11_S_SD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FII sf11_S_SD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIF sf11_S_SD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FID sf11_S_SD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIP sf11_S_SD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFI sf11_S_SD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFF sf11_S_SD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFD sf11_S_SD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFP sf11_S_SD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDI sf11_S_SD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDF sf11_S_SD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDD sf11_S_SD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDP sf11_S_SD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPI sf11_S_SD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPF sf11_S_SD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPD sf11_S_SD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPP sf11_S_SD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DII sf11_S_SD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIF sf11_S_SD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DID sf11_S_SD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIP sf11_S_SD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFI sf11_S_SD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFF sf11_S_SD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFD sf11_S_SD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFP sf11_S_SD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDI sf11_S_SD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDF sf11_S_SD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDD sf11_S_SD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDP sf11_S_SD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPI sf11_S_SD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPF sf11_S_SD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPD sf11_S_SD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPP sf11_S_SD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PII sf11_S_SD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIF sf11_S_SD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PID sf11_S_SD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIP sf11_S_SD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFI sf11_S_SD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFF sf11_S_SD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFD sf11_S_SD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFP sf11_S_SD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDI sf11_S_SD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDF sf11_S_SD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDD sf11_S_SD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDP sf11_S_SD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPI sf11_S_SD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPF sf11_S_SD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPD sf11_S_SD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPP sf11_S_SD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_I sf11_S_SP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_F sf11_S_SP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_D sf11_S_SP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_P sf11_S_SP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_II sf11_S_SP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IF sf11_S_SP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_ID sf11_S_SP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IP sf11_S_SP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FI sf11_S_SP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FF sf11_S_SP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FD sf11_S_SP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FP sf11_S_SP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DI sf11_S_SP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DF sf11_S_SP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DD sf11_S_SP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DP sf11_S_SP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PI sf11_S_SP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PF sf11_S_SP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PD sf11_S_SP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PP sf11_S_SP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_III sf11_S_SP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIF sf11_S_SP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IID sf11_S_SP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIP sf11_S_SP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFI sf11_S_SP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFF sf11_S_SP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFD sf11_S_SP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFP sf11_S_SP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDI sf11_S_SP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDF sf11_S_SP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDD sf11_S_SP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDP sf11_S_SP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPI sf11_S_SP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPF sf11_S_SP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPD sf11_S_SP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPP sf11_S_SP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FII sf11_S_SP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIF sf11_S_SP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FID sf11_S_SP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIP sf11_S_SP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFI sf11_S_SP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFF sf11_S_SP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFD sf11_S_SP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFP sf11_S_SP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDI sf11_S_SP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDF sf11_S_SP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDD sf11_S_SP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDP sf11_S_SP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPI sf11_S_SP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPF sf11_S_SP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPD sf11_S_SP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPP sf11_S_SP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DII sf11_S_SP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIF sf11_S_SP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DID sf11_S_SP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIP sf11_S_SP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFI sf11_S_SP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFF sf11_S_SP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFD sf11_S_SP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFP sf11_S_SP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDI sf11_S_SP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDF sf11_S_SP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDD sf11_S_SP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDP sf11_S_SP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPI sf11_S_SP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPF sf11_S_SP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPD sf11_S_SP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPP sf11_S_SP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PII sf11_S_SP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIF sf11_S_SP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PID sf11_S_SP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIP sf11_S_SP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFI sf11_S_SP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFF sf11_S_SP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFD sf11_S_SP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFP sf11_S_SP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDI sf11_S_SP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDF sf11_S_SP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDD sf11_S_SP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDP sf11_S_SP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPI sf11_S_SP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPF sf11_S_SP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPD sf11_S_SP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPP sf11_S_SP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_I sf11_S_SS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_F sf11_S_SS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_D sf11_S_SS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_P sf11_S_SS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_II sf11_S_SS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IF sf11_S_SS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_ID sf11_S_SS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IP sf11_S_SS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FI sf11_S_SS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FF sf11_S_SS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FD sf11_S_SS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FP sf11_S_SS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DI sf11_S_SS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DF sf11_S_SS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DD sf11_S_SS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DP sf11_S_SS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PI sf11_S_SS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PF sf11_S_SS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PD sf11_S_SS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PP sf11_S_SS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_III sf11_S_SS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIF sf11_S_SS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IID sf11_S_SS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IIP sf11_S_SS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFI sf11_S_SS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFF sf11_S_SS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFD sf11_S_SS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IFP sf11_S_SS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDI sf11_S_SS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDF sf11_S_SS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDD sf11_S_SS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IDP sf11_S_SS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPI sf11_S_SS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPF sf11_S_SS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPD sf11_S_SS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_IPP sf11_S_SS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FII sf11_S_SS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIF sf11_S_SS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FID sf11_S_SS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FIP sf11_S_SS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFI sf11_S_SS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFF sf11_S_SS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFD sf11_S_SS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FFP sf11_S_SS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDI sf11_S_SS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDF sf11_S_SS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDD sf11_S_SS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FDP sf11_S_SS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPI sf11_S_SS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPF sf11_S_SS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPD sf11_S_SS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_FPP sf11_S_SS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DII sf11_S_SS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIF sf11_S_SS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DID sf11_S_SS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DIP sf11_S_SS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFI sf11_S_SS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFF sf11_S_SS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFD sf11_S_SS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DFP sf11_S_SS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDI sf11_S_SS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDF sf11_S_SS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDD sf11_S_SS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DDP sf11_S_SS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPI sf11_S_SS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPF sf11_S_SS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPD sf11_S_SS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_DPP sf11_S_SS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PII sf11_S_SS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIF sf11_S_SS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PID sf11_S_SS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PIP sf11_S_SS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFI sf11_S_SS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFF sf11_S_SS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFD sf11_S_SS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PFP sf11_S_SS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDI sf11_S_SS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDF sf11_S_SS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDD sf11_S_SS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PDP sf11_S_SS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPI sf11_S_SS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPF sf11_S_SS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPD sf11_S_SS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT struct S_PPP sf11_S_SS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1); }
EXPORT int sf11_I_III_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_I p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_F p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_D p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_P p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_II p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_ID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_III p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_IPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_FPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_DPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, int p1, struct S_PPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, int, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_I p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_F p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_D p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_P p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_II p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_ID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_III p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_IPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_FPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_DPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, float p1, struct S_PPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, float, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_I p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_F p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_D p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_P p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_II p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_ID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_III p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_IPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_FPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_DPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, double p1, struct S_PPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, double, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_I p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_F p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_D p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_P p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_II p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_ID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_III p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf11_I_IPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_IPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_FPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_DPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_IPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, void* p1, struct S_PPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, void*, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, int p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, float p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, double p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, void* p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_I p1, struct S_I p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_I, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_F p1, struct S_F p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_F, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_D p1, struct S_D p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_D, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_P p1, struct S_P p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_P, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_II p1, struct S_II p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_II, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IF p1, struct S_IF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IF, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_ID p1, struct S_ID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_ID, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IP p1, struct S_IP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IP, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FI p1, struct S_FI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FI, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FF p1, struct S_FF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FF, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FD p1, struct S_FD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FD, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FP p1, struct S_FP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FP, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DI p1, struct S_DI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DI, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DF p1, struct S_DF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DF, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DD p1, struct S_DD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DD, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DP p1, struct S_DP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DP, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PI p1, struct S_PI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PI, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PF p1, struct S_PF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PF, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PD p1, struct S_PD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PD, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PP p1, struct S_PP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PP, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_III p1, struct S_III p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_III, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIF p1, struct S_IIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIF, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IID p1, struct S_IID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IID, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IIP p1, struct S_IIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IIP, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFI p1, struct S_IFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFI, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFF p1, struct S_IFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFF, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFD p1, struct S_IFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFD, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IFP p1, struct S_IFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IFP, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDI p1, struct S_IDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDI, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDF p1, struct S_IDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDF, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDD p1, struct S_IDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDD, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IDP p1, struct S_IDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IDP, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPI p1, struct S_IPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPI, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPF p1, struct S_IPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPF, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPD p1, struct S_IPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPD, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_IPP p1, struct S_IPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_IPP, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FII p1, struct S_FII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FII, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIF p1, struct S_FIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIF, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FID p1, struct S_FID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FID, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FIP p1, struct S_FIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FIP, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFI p1, struct S_FFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFI, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFF p1, struct S_FFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFF, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFD p1, struct S_FFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFD, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FFP p1, struct S_FFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FFP, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDI p1, struct S_FDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDI, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDF p1, struct S_FDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDF, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDD p1, struct S_FDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDD, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FDP p1, struct S_FDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FDP, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPI p1, struct S_FPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPI, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPF p1, struct S_FPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPF, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPD p1, struct S_FPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPD, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_FPP p1, struct S_FPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_FPP, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DII p1, struct S_DII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DII, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIF p1, struct S_DIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIF, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DID p1, struct S_DID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DID, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DIP p1, struct S_DIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DIP, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFI p1, struct S_DFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFI, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFF p1, struct S_DFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFF, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFD p1, struct S_DFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFD, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DFP p1, struct S_DFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DFP, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDI p1, struct S_DDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDI, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDF p1, struct S_DDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDF, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDD p1, struct S_DDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDD, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DDP p1, struct S_DDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DDP, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPI p1, struct S_DPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPI, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPF p1, struct S_DPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPF, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPD p1, struct S_DPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPD, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_DPP p1, struct S_DPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_DPP, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PII p1, struct S_PII p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PII, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIF p1, struct S_PIF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIF, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PID p1, struct S_PID p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PID, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PIP p1, struct S_PIP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PIP, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFI p1, struct S_PFI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFI, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFF p1, struct S_PFF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFF, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFD p1, struct S_PFD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFD, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PFP p1, struct S_PFP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PFP, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDI p1, struct S_PDI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDI, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDF p1, struct S_PDF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDF, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDD p1, struct S_PDD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDD, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PDP p1, struct S_PDP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PDP, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPI p1, struct S_PPI p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPI, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPF p1, struct S_PPF p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPF, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPD p1, struct S_PPD p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPD, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT int sf12_I_ISS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, int p0, struct S_PPP p1, struct S_PPP p2,  int (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, int, struct S_PPP, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FII_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_I p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_F p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_D p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_P p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_II p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_ID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_III p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_IPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_FPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_DPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, int p1, struct S_PPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, int, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_I p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_F p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_D p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_P p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_II p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_ID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_III p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf12_F_FFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_IPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_FPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_DPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, float p1, struct S_PPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, float, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_I p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_F p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_D p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_P p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_II p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_ID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_III p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_IPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_FPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_DPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, double p1, struct S_PPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, double, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_I p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_F p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_D p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_P p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_II p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_ID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_III p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_IPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_FPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_DPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, void* p1, struct S_PPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, void*, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, int p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, float p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, double p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, void* p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_I p1, struct S_I p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_I, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_F p1, struct S_F p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_F, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_D p1, struct S_D p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_D, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_P p1, struct S_P p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_P, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_II p1, struct S_II p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_II, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IF p1, struct S_IF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IF, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_ID p1, struct S_ID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_ID, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IP p1, struct S_IP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IP, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FI p1, struct S_FI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FI, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FF p1, struct S_FF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FF, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FD p1, struct S_FD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FD, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FP p1, struct S_FP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FP, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DI p1, struct S_DI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DI, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DF p1, struct S_DF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DF, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DD p1, struct S_DD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DD, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DP p1, struct S_DP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DP, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PI p1, struct S_PI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PI, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PF p1, struct S_PF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PF, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PD p1, struct S_PD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PD, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PP p1, struct S_PP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PP, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_III p1, struct S_III p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_III, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIF p1, struct S_IIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIF, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IID p1, struct S_IID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IID, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IIP p1, struct S_IIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IIP, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFI p1, struct S_IFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFI, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFF p1, struct S_IFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFF, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFD p1, struct S_IFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFD, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IFP p1, struct S_IFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IFP, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDI p1, struct S_IDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDI, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDF p1, struct S_IDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDF, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf13_F_FSS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDD p1, struct S_IDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDD, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IDP p1, struct S_IDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IDP, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPI p1, struct S_IPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPI, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPF p1, struct S_IPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPF, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPD p1, struct S_IPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPD, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_IPP p1, struct S_IPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_IPP, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FII p1, struct S_FII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FII, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIF p1, struct S_FIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIF, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FID p1, struct S_FID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FID, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FIP p1, struct S_FIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FIP, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFI p1, struct S_FFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFI, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFF p1, struct S_FFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFF, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFD p1, struct S_FFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFD, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FFP p1, struct S_FFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FFP, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDI p1, struct S_FDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDI, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDF p1, struct S_FDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDF, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDD p1, struct S_FDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDD, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FDP p1, struct S_FDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FDP, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPI p1, struct S_FPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPI, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPF p1, struct S_FPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPF, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPD p1, struct S_FPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPD, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_FPP p1, struct S_FPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_FPP, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DII p1, struct S_DII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DII, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIF p1, struct S_DIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIF, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DID p1, struct S_DID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DID, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DIP p1, struct S_DIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DIP, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFI p1, struct S_DFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFI, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFF p1, struct S_DFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFF, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFD p1, struct S_DFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFD, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DFP p1, struct S_DFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DFP, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDI p1, struct S_DDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDI, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDF p1, struct S_DDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDF, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDD p1, struct S_DDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDD, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DDP p1, struct S_DDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DDP, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPI p1, struct S_DPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPI, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPF p1, struct S_DPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPF, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPD p1, struct S_DPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPD, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_DPP p1, struct S_DPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_DPP, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PII p1, struct S_PII p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PII, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIF p1, struct S_PIF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIF, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PID p1, struct S_PID p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PID, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PIP p1, struct S_PIP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PIP, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFI p1, struct S_PFI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFI, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFF p1, struct S_PFF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFF, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFD p1, struct S_PFD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFD, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PFP p1, struct S_PFP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PFP, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDI p1, struct S_PDI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDI, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDF p1, struct S_PDF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDF, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDD p1, struct S_PDD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDD, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PDP p1, struct S_PDP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PDP, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPI p1, struct S_PPI p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPI, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPF p1, struct S_PPF p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPF, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPD p1, struct S_PPD p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPD, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT float sf14_F_FSS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, float p0, struct S_PPP p1, struct S_PPP p2,  float (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, float, struct S_PPP, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DII_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_I p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_F p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_D p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_P p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_II p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_ID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_III p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_IPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_FPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_DPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, int p1, struct S_PPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, int, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_I p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_F p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_D p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_P p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_II p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_ID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_III p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_IPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_FPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_DPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, float p1, struct S_PPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, float, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_I p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_F p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_D p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_P p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_II p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_ID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_III p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_IPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_FPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_DPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, double p1, struct S_PPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, double, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_I p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_F p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_D p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_P p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_II p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_ID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_III p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_IPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_FPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_DPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, void* p1, struct S_PPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, void*, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, int p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, float p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf14_D_DSD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, double p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, void* p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_I p1, struct S_I p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_I, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_F p1, struct S_F p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_F, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_D p1, struct S_D p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_D, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_P p1, struct S_P p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_P, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_II p1, struct S_II p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_II, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IF p1, struct S_IF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_ID p1, struct S_ID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IP p1, struct S_IP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FI p1, struct S_FI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FF p1, struct S_FF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FD p1, struct S_FD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FP p1, struct S_FP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DI p1, struct S_DI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DF p1, struct S_DF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DD p1, struct S_DD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DP p1, struct S_DP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PI p1, struct S_PI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PF p1, struct S_PF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PD p1, struct S_PD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PP p1, struct S_PP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_III p1, struct S_III p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_III, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIF p1, struct S_IIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IID p1, struct S_IID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IIP p1, struct S_IIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFI p1, struct S_IFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFF p1, struct S_IFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFD p1, struct S_IFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IFP p1, struct S_IFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDI p1, struct S_IDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDF p1, struct S_IDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDD p1, struct S_IDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IDP p1, struct S_IDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPI p1, struct S_IPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPF p1, struct S_IPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPD p1, struct S_IPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_IPP p1, struct S_IPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FII p1, struct S_FII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIF p1, struct S_FIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FID p1, struct S_FID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FIP p1, struct S_FIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFI p1, struct S_FFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFF p1, struct S_FFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFD p1, struct S_FFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FFP p1, struct S_FFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDI p1, struct S_FDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDF p1, struct S_FDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDD p1, struct S_FDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FDP p1, struct S_FDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPI p1, struct S_FPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPF p1, struct S_FPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPD p1, struct S_FPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_FPP p1, struct S_FPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DII p1, struct S_DII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIF p1, struct S_DIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DID p1, struct S_DID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DIP p1, struct S_DIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFI p1, struct S_DFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFF p1, struct S_DFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFD p1, struct S_DFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DFP p1, struct S_DFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDI p1, struct S_DDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDF p1, struct S_DDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDD p1, struct S_DDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DDP p1, struct S_DDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPI p1, struct S_DPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPF p1, struct S_DPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPD p1, struct S_DPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_DPP p1, struct S_DPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PII p1, struct S_PII p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIF p1, struct S_PIF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PID p1, struct S_PID p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PIP p1, struct S_PIP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFI p1, struct S_PFI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFF p1, struct S_PFF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFD p1, struct S_PFD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PFP p1, struct S_PFP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDI p1, struct S_PDI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDF p1, struct S_PDF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDD p1, struct S_PDD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PDP p1, struct S_PDP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPI p1, struct S_PPI p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPF p1, struct S_PPF p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPD p1, struct S_PPD p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT double sf15_D_DSS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, double p0, struct S_PPP p1, struct S_PPP p2,  double (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PII_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PID_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_I p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_F p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_D p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_P p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_II p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_ID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_III p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_IPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_FPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_DPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, int p1, struct S_PPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, int, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_I p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_F p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_D p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_P p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_II p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_ID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_III p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_IPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_FPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_DPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, float p1, struct S_PPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, float, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_I p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_F p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_D p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_P p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_II p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_ID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_III p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_IPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_FPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_DPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, double p1, struct S_PPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, double, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPI_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPF_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPD_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPP_(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_I p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_F p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_D p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_P p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_II p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_ID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_III p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_IPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_FPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_DPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, void* p1, struct S_PPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, void*, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf15_P_PSI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, int p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, float p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, double p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, void* p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_I p1, struct S_I p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_I, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_F p1, struct S_F p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_F, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_D p1, struct S_D p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_D, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_P p1, struct S_P p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_P, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_II p1, struct S_II p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_II, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IF p1, struct S_IF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IF, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_ID p1, struct S_ID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_ID, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IP p1, struct S_IP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IP, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FI p1, struct S_FI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FI, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FF p1, struct S_FF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FF, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FD p1, struct S_FD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FD, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FP p1, struct S_FP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FP, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DI p1, struct S_DI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DI, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DF p1, struct S_DF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DF, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DD p1, struct S_DD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DD, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DP p1, struct S_DP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DP, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PI p1, struct S_PI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PI, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PF p1, struct S_PF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PF, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PD p1, struct S_PD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PD, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PP p1, struct S_PP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PP, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_III p1, struct S_III p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_III, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIF p1, struct S_IIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIF, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IID p1, struct S_IID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IID, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IIP p1, struct S_IIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IIP, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFI p1, struct S_IFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFI, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFF p1, struct S_IFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFF, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFD p1, struct S_IFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFD, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IFP p1, struct S_IFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IFP, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDI p1, struct S_IDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDI, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDF p1, struct S_IDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDF, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDD p1, struct S_IDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDD, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IDP p1, struct S_IDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IDP, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPI p1, struct S_IPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPI, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPF p1, struct S_IPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPF, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPD p1, struct S_IPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPD, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_IPP p1, struct S_IPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_IPP, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FII p1, struct S_FII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FII, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIF p1, struct S_FIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIF, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FID p1, struct S_FID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FID, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FIP p1, struct S_FIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FIP, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFI p1, struct S_FFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFI, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFF p1, struct S_FFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFF, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFD p1, struct S_FFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFD, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FFP p1, struct S_FFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FFP, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDI p1, struct S_FDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDI, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDF p1, struct S_FDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDF, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDD p1, struct S_FDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDD, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FDP p1, struct S_FDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FDP, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPI p1, struct S_FPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPI, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPF p1, struct S_FPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPF, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPD p1, struct S_FPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPD, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_FPP p1, struct S_FPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_FPP, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DII p1, struct S_DII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DII, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIF p1, struct S_DIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIF, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DID p1, struct S_DID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DID, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DIP p1, struct S_DIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DIP, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFI p1, struct S_DFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFI, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFF p1, struct S_DFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFF, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFD p1, struct S_DFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFD, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DFP p1, struct S_DFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DFP, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDI p1, struct S_DDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDI, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDF p1, struct S_DDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDF, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDD p1, struct S_DDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDD, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DDP p1, struct S_DDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DDP, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPI p1, struct S_DPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPI, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPF p1, struct S_DPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPF, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPD p1, struct S_DPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPD, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_DPP p1, struct S_DPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_DPP, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PII p1, struct S_PII p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PII, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIF p1, struct S_PIF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIF, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PID p1, struct S_PID p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PID, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PIP p1, struct S_PIP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PIP, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFI p1, struct S_PFI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFI, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFF p1, struct S_PFF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFF, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFD p1, struct S_PFD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFD, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PFP p1, struct S_PFP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PFP, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDI p1, struct S_PDI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDI, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDF p1, struct S_PDF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDF, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDD p1, struct S_PDD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDD, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PDP p1, struct S_PDP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PDP, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPI p1, struct S_PPI p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPI, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPF p1, struct S_PPF p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPF, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPD p1, struct S_PPD p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPD, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT void* sf16_P_PSS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, void* p0, struct S_PPP p1, struct S_PPP p2,  void* (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, void*, struct S_PPP, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf16_S_SII_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, int p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf16_S_SII_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, int p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf16_S_SII_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, int p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf16_S_SII_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, int p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf16_S_SII_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, int p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf16_S_SII_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, int p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf16_S_SII_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, int p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf16_S_SII_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, int p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf16_S_SII_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, int p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf16_S_SII_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, int p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf16_S_SII_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, int p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf16_S_SII_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, int p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf16_S_SII_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, int p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf16_S_SII_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, int p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf16_S_SII_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, int p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf16_S_SII_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, int p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf16_S_SII_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, int p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf16_S_SII_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, int p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf16_S_SII_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, int p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf16_S_SII_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, int p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf16_S_SII_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, int p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf16_S_SII_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, int p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf16_S_SII_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, int p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf16_S_SII_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, int p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf16_S_SII_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, int p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf16_S_SII_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, int p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf16_S_SII_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, int p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf16_S_SII_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, int p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf16_S_SII_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, int p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf16_S_SII_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, int p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf16_S_SII_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, int p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf16_S_SII_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, int p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf16_S_SII_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, int p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf16_S_SII_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, int p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf16_S_SII_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, int p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf16_S_SII_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, int p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf16_S_SII_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, int p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf16_S_SII_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, int p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf16_S_SII_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, int p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf16_S_SII_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, int p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf16_S_SII_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, int p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf16_S_SII_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, int p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf16_S_SII_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, int p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf16_S_SII_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, int p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf16_S_SII_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, int p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf16_S_SII_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, int p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf16_S_SII_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, int p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf16_S_SII_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, int p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf16_S_SII_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, int p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf16_S_SII_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, int p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf16_S_SII_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, int p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf16_S_SII_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, int p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf16_S_SII_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, int p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf16_S_SII_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, int p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf16_S_SII_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, int p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf16_S_SII_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, int p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf16_S_SII_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, int p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf16_S_SII_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, int p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf16_S_SII_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, int p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf16_S_SII_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, int p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf16_S_SII_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, int p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf16_S_SII_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, int p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf16_S_SII_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, int p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf16_S_SII_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, int p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf16_S_SII_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, int p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf16_S_SII_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, int p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf16_S_SII_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, int p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf16_S_SII_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, int p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf16_S_SII_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, int p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf16_S_SII_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, int p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf16_S_SII_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, int p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf16_S_SII_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, int p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf16_S_SII_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, int p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf16_S_SII_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, int p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf16_S_SII_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, int p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf16_S_SII_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, int p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf16_S_SII_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, int p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf16_S_SII_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, int p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf16_S_SII_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, int p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf16_S_SII_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, int p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf16_S_SII_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, int p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf16_S_SII_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, int p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf16_S_SII_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, int p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf16_S_SII_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, int p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf16_S_SIF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, float p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf16_S_SIF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, float p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf16_S_SIF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, float p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf16_S_SIF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, float p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf16_S_SIF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, float p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf16_S_SIF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, float p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf16_S_SIF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, float p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf16_S_SIF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, float p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf16_S_SIF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, float p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf16_S_SIF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, float p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf16_S_SIF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, float p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf16_S_SIF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, float p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf16_S_SIF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, float p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf16_S_SIF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, float p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf16_S_SIF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, float p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf16_S_SIF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, float p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf16_S_SIF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, float p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf16_S_SIF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, float p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf16_S_SIF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, float p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf16_S_SIF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, float p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf16_S_SIF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, float p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf16_S_SIF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, float p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf16_S_SIF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, float p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf16_S_SIF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, float p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf16_S_SIF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, float p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf16_S_SIF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, float p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf16_S_SIF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, float p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf16_S_SIF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, float p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf16_S_SIF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, float p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf16_S_SIF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, float p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf16_S_SIF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, float p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf16_S_SIF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, float p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf16_S_SIF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, float p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf16_S_SIF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, float p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf16_S_SIF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, float p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf16_S_SIF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, float p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf16_S_SIF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, float p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf16_S_SIF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, float p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf16_S_SIF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, float p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf16_S_SIF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, float p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf16_S_SIF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, float p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf16_S_SIF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, float p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf16_S_SIF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, float p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf16_S_SIF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, float p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf16_S_SIF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, float p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf16_S_SIF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, float p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf16_S_SIF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, float p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf16_S_SIF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, float p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf16_S_SIF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, float p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf16_S_SIF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, float p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf16_S_SIF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, float p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf16_S_SIF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, float p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf16_S_SIF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, float p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf16_S_SIF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, float p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf16_S_SIF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, float p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf16_S_SIF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, float p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf16_S_SIF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, float p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf16_S_SIF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, float p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf16_S_SIF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, float p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf16_S_SIF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, float p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf16_S_SIF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, float p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf16_S_SIF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, float p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf16_S_SIF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, float p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf16_S_SIF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, float p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf16_S_SIF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, float p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf16_S_SIF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, float p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf16_S_SIF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, float p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf16_S_SIF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, float p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf16_S_SIF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, float p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf16_S_SIF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, float p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf16_S_SIF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, float p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf16_S_SIF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, float p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf16_S_SIF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, float p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf16_S_SIF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, float p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf16_S_SIF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, float p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf16_S_SIF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, float p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf16_S_SIF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, float p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf16_S_SIF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, float p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf16_S_SIF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, float p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf16_S_SIF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, float p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf16_S_SIF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, float p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf16_S_SIF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, float p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf16_S_SIF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, float p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf16_S_SIF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, float p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf16_S_SID_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, double p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf16_S_SID_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, double p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf16_S_SID_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, double p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf16_S_SID_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, double p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf16_S_SID_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, double p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf16_S_SID_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, double p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf16_S_SID_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, double p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf16_S_SID_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, double p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf16_S_SID_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, double p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf16_S_SID_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, double p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf16_S_SID_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, double p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf16_S_SID_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, double p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf16_S_SID_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, double p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf16_S_SID_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, double p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf16_S_SID_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, double p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf16_S_SID_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, double p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf16_S_SID_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, double p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf16_S_SID_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, double p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf16_S_SID_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, double p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf16_S_SID_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, double p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf16_S_SID_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, double p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf16_S_SID_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, double p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf16_S_SID_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, double p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf16_S_SID_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, double p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf16_S_SID_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, double p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf16_S_SID_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, double p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf16_S_SID_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, double p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf16_S_SID_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, double p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf16_S_SID_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, double p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf16_S_SID_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, double p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf16_S_SID_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, double p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf16_S_SID_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, double p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf16_S_SID_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, double p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf16_S_SID_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, double p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf16_S_SID_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, double p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf17_S_SID_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, double p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf17_S_SID_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, double p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf17_S_SID_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, double p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf17_S_SID_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, double p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf17_S_SID_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, double p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf17_S_SID_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, double p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf17_S_SID_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, double p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf17_S_SID_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, double p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf17_S_SID_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, double p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf17_S_SID_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, double p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf17_S_SID_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, double p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf17_S_SID_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, double p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf17_S_SID_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, double p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf17_S_SID_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, double p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf17_S_SID_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, double p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf17_S_SID_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, double p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf17_S_SID_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, double p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf17_S_SID_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, double p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf17_S_SID_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, double p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf17_S_SID_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, double p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf17_S_SID_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, double p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf17_S_SID_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, double p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf17_S_SID_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, double p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf17_S_SID_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, double p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf17_S_SID_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, double p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf17_S_SID_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, double p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf17_S_SID_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, double p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf17_S_SID_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, double p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf17_S_SID_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, double p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf17_S_SID_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, double p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf17_S_SID_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, double p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf17_S_SID_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, double p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf17_S_SID_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, double p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf17_S_SID_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, double p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf17_S_SID_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, double p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf17_S_SID_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, double p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf17_S_SID_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, double p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf17_S_SID_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, double p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf17_S_SID_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, double p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf17_S_SID_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, double p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf17_S_SID_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, double p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf17_S_SID_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, double p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf17_S_SID_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, double p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf17_S_SID_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, double p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf17_S_SID_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, double p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf17_S_SID_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, double p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf17_S_SID_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, double p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf17_S_SID_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, double p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf17_S_SID_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, double p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf17_S_SIP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, void* p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf17_S_SIP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, void* p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf17_S_SIP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, void* p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf17_S_SIP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, void* p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf17_S_SIP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, void* p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf17_S_SIP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, void* p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf17_S_SIP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, void* p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf17_S_SIP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, void* p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf17_S_SIP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, void* p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf17_S_SIP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, void* p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf17_S_SIP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, void* p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf17_S_SIP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, void* p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf17_S_SIP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, void* p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf17_S_SIP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, void* p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf17_S_SIP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, void* p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf17_S_SIP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, void* p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf17_S_SIP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, void* p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf17_S_SIP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, void* p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf17_S_SIP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, void* p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf17_S_SIP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, void* p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf17_S_SIP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, void* p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf17_S_SIP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, void* p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf17_S_SIP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, void* p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf17_S_SIP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, void* p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf17_S_SIP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, void* p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf17_S_SIP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, void* p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf17_S_SIP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, void* p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf17_S_SIP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, void* p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf17_S_SIP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, void* p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf17_S_SIP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, void* p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf17_S_SIP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, void* p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf17_S_SIP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, void* p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf17_S_SIP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, void* p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf17_S_SIP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, void* p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf17_S_SIP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, void* p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf17_S_SIP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, void* p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf17_S_SIP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, void* p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf17_S_SIP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, void* p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf17_S_SIP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, void* p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf17_S_SIP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, void* p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf17_S_SIP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, void* p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf17_S_SIP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, void* p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf17_S_SIP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, void* p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf17_S_SIP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, void* p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf17_S_SIP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, void* p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf17_S_SIP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, void* p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf17_S_SIP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, void* p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf17_S_SIP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, void* p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf17_S_SIP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, void* p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf17_S_SIP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, void* p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf17_S_SIP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, void* p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf17_S_SIP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, void* p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf17_S_SIP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, void* p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf17_S_SIP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, void* p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf17_S_SIP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, void* p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf17_S_SIP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, void* p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf17_S_SIP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, void* p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf17_S_SIP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, void* p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf17_S_SIP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, void* p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf17_S_SIP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, void* p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf17_S_SIP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, void* p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf17_S_SIP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, void* p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf17_S_SIP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, void* p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf17_S_SIP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, void* p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf17_S_SIP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, void* p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf17_S_SIP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, void* p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf17_S_SIP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, void* p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf17_S_SIP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, void* p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf17_S_SIP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, void* p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf17_S_SIP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, void* p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf17_S_SIP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, void* p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf17_S_SIP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, void* p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf17_S_SIP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, void* p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf17_S_SIP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, void* p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf17_S_SIP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, void* p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf17_S_SIP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, void* p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf17_S_SIP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, void* p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf17_S_SIP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, void* p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf17_S_SIP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, void* p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf17_S_SIP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, void* p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf17_S_SIP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, void* p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf17_S_SIP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, void* p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf17_S_SIP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, void* p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf17_S_SIP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, void* p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf17_S_SIS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, int p1, struct S_I p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, int, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf17_S_SIS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, int p1, struct S_F p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, int, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf17_S_SIS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, int p1, struct S_D p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, int, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf17_S_SIS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, int p1, struct S_P p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, int, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf17_S_SIS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, int p1, struct S_II p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, int, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf17_S_SIS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, int p1, struct S_IF p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, int, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf17_S_SIS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, int p1, struct S_ID p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, int, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf17_S_SIS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, int p1, struct S_IP p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, int, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf17_S_SIS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, int p1, struct S_FI p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, int, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf17_S_SIS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, int p1, struct S_FF p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, int, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf17_S_SIS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, int p1, struct S_FD p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, int, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf17_S_SIS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, int p1, struct S_FP p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, int, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf17_S_SIS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, int p1, struct S_DI p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, int, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf17_S_SIS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, int p1, struct S_DF p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, int, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf17_S_SIS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, int p1, struct S_DD p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, int, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf17_S_SIS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, int p1, struct S_DP p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, int, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf17_S_SIS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, int p1, struct S_PI p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, int, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf17_S_SIS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, int p1, struct S_PF p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, int, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf17_S_SIS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, int p1, struct S_PD p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, int, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf17_S_SIS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, int p1, struct S_PP p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, int, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf17_S_SIS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, int p1, struct S_III p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, int, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf17_S_SIS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, int p1, struct S_IIF p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, int, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf17_S_SIS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, int p1, struct S_IID p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, int, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf17_S_SIS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, int p1, struct S_IIP p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, int, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf17_S_SIS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, int p1, struct S_IFI p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, int, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf17_S_SIS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, int p1, struct S_IFF p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, int, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf17_S_SIS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, int p1, struct S_IFD p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, int, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf17_S_SIS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, int p1, struct S_IFP p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, int, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf17_S_SIS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, int p1, struct S_IDI p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, int, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf17_S_SIS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, int p1, struct S_IDF p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, int, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf17_S_SIS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, int p1, struct S_IDD p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, int, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf17_S_SIS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, int p1, struct S_IDP p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, int, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf17_S_SIS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, int p1, struct S_IPI p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, int, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf17_S_SIS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, int p1, struct S_IPF p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, int, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf17_S_SIS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, int p1, struct S_IPD p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, int, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf17_S_SIS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, int p1, struct S_IPP p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, int, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf17_S_SIS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, int p1, struct S_FII p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, int, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf17_S_SIS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, int p1, struct S_FIF p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, int, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf17_S_SIS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, int p1, struct S_FID p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, int, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf17_S_SIS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, int p1, struct S_FIP p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, int, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf17_S_SIS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, int p1, struct S_FFI p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, int, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf17_S_SIS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, int p1, struct S_FFF p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, int, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf17_S_SIS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, int p1, struct S_FFD p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, int, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf17_S_SIS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, int p1, struct S_FFP p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, int, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf17_S_SIS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, int p1, struct S_FDI p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, int, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf17_S_SIS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, int p1, struct S_FDF p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, int, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf17_S_SIS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, int p1, struct S_FDD p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, int, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf17_S_SIS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, int p1, struct S_FDP p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, int, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf17_S_SIS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, int p1, struct S_FPI p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, int, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf17_S_SIS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, int p1, struct S_FPF p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, int, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf17_S_SIS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, int p1, struct S_FPD p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, int, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf17_S_SIS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, int p1, struct S_FPP p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, int, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf17_S_SIS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, int p1, struct S_DII p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, int, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf17_S_SIS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, int p1, struct S_DIF p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, int, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf17_S_SIS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, int p1, struct S_DID p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, int, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf17_S_SIS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, int p1, struct S_DIP p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, int, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf17_S_SIS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, int p1, struct S_DFI p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, int, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf17_S_SIS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, int p1, struct S_DFF p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, int, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf17_S_SIS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, int p1, struct S_DFD p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, int, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf17_S_SIS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, int p1, struct S_DFP p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, int, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf17_S_SIS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, int p1, struct S_DDI p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, int, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf17_S_SIS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, int p1, struct S_DDF p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, int, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf17_S_SIS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, int p1, struct S_DDD p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, int, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf17_S_SIS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, int p1, struct S_DDP p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, int, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf17_S_SIS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, int p1, struct S_DPI p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, int, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf17_S_SIS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, int p1, struct S_DPF p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, int, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf17_S_SIS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, int p1, struct S_DPD p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, int, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf17_S_SIS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, int p1, struct S_DPP p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, int, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf17_S_SIS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, int p1, struct S_PII p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, int, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf17_S_SIS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, int p1, struct S_PIF p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, int, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf17_S_SIS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, int p1, struct S_PID p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, int, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf17_S_SIS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, int p1, struct S_PIP p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, int, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf17_S_SIS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, int p1, struct S_PFI p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, int, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf17_S_SIS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, int p1, struct S_PFF p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, int, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf17_S_SIS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, int p1, struct S_PFD p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, int, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf17_S_SIS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, int p1, struct S_PFP p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, int, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf17_S_SIS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, int p1, struct S_PDI p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, int, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf17_S_SIS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, int p1, struct S_PDF p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, int, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf17_S_SIS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, int p1, struct S_PDD p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, int, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf17_S_SIS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, int p1, struct S_PDP p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, int, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf17_S_SIS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, int p1, struct S_PPI p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, int, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf17_S_SIS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, int p1, struct S_PPF p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, int, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf17_S_SIS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, int p1, struct S_PPD p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, int, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf17_S_SIS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, int p1, struct S_PPP p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, int, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf17_S_SFI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, int p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf17_S_SFI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, int p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf17_S_SFI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, int p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf17_S_SFI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, int p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf17_S_SFI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, int p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf17_S_SFI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, int p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf17_S_SFI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, int p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf17_S_SFI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, int p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf17_S_SFI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, int p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf17_S_SFI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, int p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf17_S_SFI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, int p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf17_S_SFI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, int p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf17_S_SFI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, int p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf17_S_SFI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, int p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf17_S_SFI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, int p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf17_S_SFI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, int p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf17_S_SFI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, int p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf17_S_SFI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, int p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf17_S_SFI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, int p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf17_S_SFI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, int p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf17_S_SFI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, int p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf17_S_SFI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, int p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf17_S_SFI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, int p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf17_S_SFI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, int p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf17_S_SFI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, int p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf17_S_SFI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, int p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf17_S_SFI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, int p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf17_S_SFI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, int p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf17_S_SFI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, int p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf17_S_SFI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, int p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf17_S_SFI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, int p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf17_S_SFI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, int p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf17_S_SFI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, int p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf17_S_SFI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, int p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf17_S_SFI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, int p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf17_S_SFI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, int p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf17_S_SFI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, int p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf17_S_SFI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, int p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf17_S_SFI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, int p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf17_S_SFI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, int p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf17_S_SFI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, int p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf17_S_SFI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, int p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf17_S_SFI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, int p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf17_S_SFI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, int p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf17_S_SFI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, int p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf17_S_SFI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, int p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf17_S_SFI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, int p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf17_S_SFI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, int p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf17_S_SFI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, int p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf17_S_SFI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, int p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf17_S_SFI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, int p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf17_S_SFI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, int p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf17_S_SFI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, int p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf17_S_SFI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, int p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf17_S_SFI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, int p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf17_S_SFI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, int p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf17_S_SFI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, int p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf17_S_SFI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, int p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf17_S_SFI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, int p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf17_S_SFI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, int p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf17_S_SFI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, int p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf17_S_SFI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, int p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf17_S_SFI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, int p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf17_S_SFI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, int p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf17_S_SFI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, int p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf17_S_SFI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, int p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf17_S_SFI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, int p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf17_S_SFI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, int p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf17_S_SFI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, int p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf17_S_SFI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, int p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf17_S_SFI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, int p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf17_S_SFI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, int p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf17_S_SFI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, int p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf17_S_SFI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, int p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf17_S_SFI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, int p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf17_S_SFI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, int p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf17_S_SFI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, int p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf17_S_SFI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, int p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf17_S_SFI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, int p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf17_S_SFI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, int p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf17_S_SFI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, int p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf17_S_SFI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, int p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf17_S_SFI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, int p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf17_S_SFI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, int p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf17_S_SFF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, float p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf17_S_SFF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, float p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf17_S_SFF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, float p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf17_S_SFF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, float p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf17_S_SFF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, float p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf17_S_SFF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, float p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf17_S_SFF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, float p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf17_S_SFF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, float p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf17_S_SFF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, float p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf17_S_SFF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, float p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf17_S_SFF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, float p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf17_S_SFF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, float p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf17_S_SFF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, float p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf17_S_SFF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, float p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf17_S_SFF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, float p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf17_S_SFF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, float p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf17_S_SFF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, float p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf17_S_SFF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, float p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf17_S_SFF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, float p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf17_S_SFF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, float p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf17_S_SFF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, float p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf17_S_SFF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, float p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf17_S_SFF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, float p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf17_S_SFF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, float p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf17_S_SFF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, float p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf17_S_SFF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, float p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf17_S_SFF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, float p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf17_S_SFF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, float p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf17_S_SFF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, float p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf17_S_SFF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, float p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf17_S_SFF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, float p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf17_S_SFF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, float p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf17_S_SFF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, float p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf17_S_SFF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, float p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf17_S_SFF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, float p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf17_S_SFF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, float p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf17_S_SFF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, float p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf17_S_SFF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, float p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf17_S_SFF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, float p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf17_S_SFF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, float p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf17_S_SFF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, float p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf17_S_SFF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, float p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf17_S_SFF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, float p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf17_S_SFF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, float p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf17_S_SFF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, float p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf17_S_SFF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, float p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf17_S_SFF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, float p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf17_S_SFF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, float p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf17_S_SFF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, float p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf17_S_SFF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, float p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf17_S_SFF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, float p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf17_S_SFF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, float p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf17_S_SFF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, float p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf17_S_SFF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, float p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf17_S_SFF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, float p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf17_S_SFF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, float p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf17_S_SFF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, float p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf17_S_SFF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, float p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf17_S_SFF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, float p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf17_S_SFF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, float p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf17_S_SFF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, float p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf17_S_SFF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, float p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf17_S_SFF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, float p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf17_S_SFF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, float p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf17_S_SFF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, float p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf17_S_SFF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, float p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf17_S_SFF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, float p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf17_S_SFF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, float p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf17_S_SFF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, float p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf17_S_SFF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, float p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf17_S_SFF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, float p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf17_S_SFF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, float p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf17_S_SFF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, float p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf17_S_SFF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, float p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf17_S_SFF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, float p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf17_S_SFF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, float p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf17_S_SFF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, float p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf17_S_SFF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, float p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf17_S_SFF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, float p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf17_S_SFF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, float p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf17_S_SFF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, float p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf17_S_SFF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, float p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf17_S_SFF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, float p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf17_S_SFF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, float p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf17_S_SFD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, double p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf17_S_SFD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, double p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf17_S_SFD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, double p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf17_S_SFD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, double p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf17_S_SFD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, double p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf17_S_SFD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, double p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf17_S_SFD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, double p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf17_S_SFD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, double p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf17_S_SFD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, double p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf17_S_SFD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, double p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf17_S_SFD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, double p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf17_S_SFD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, double p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf17_S_SFD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, double p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf17_S_SFD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, double p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf17_S_SFD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, double p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf17_S_SFD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, double p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf17_S_SFD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, double p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf17_S_SFD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, double p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf17_S_SFD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, double p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf17_S_SFD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, double p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf17_S_SFD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, double p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf17_S_SFD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, double p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf17_S_SFD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, double p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf17_S_SFD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, double p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf17_S_SFD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, double p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf17_S_SFD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, double p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf17_S_SFD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, double p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf17_S_SFD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, double p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf17_S_SFD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, double p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf17_S_SFD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, double p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf17_S_SFD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, double p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf17_S_SFD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, double p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf17_S_SFD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, double p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf17_S_SFD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, double p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf17_S_SFD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, double p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf17_S_SFD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, double p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf17_S_SFD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, double p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf17_S_SFD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, double p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf17_S_SFD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, double p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf17_S_SFD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, double p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf17_S_SFD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, double p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf17_S_SFD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, double p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf17_S_SFD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, double p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf17_S_SFD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, double p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf17_S_SFD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, double p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf17_S_SFD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, double p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf17_S_SFD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, double p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf17_S_SFD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, double p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf17_S_SFD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, double p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf17_S_SFD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, double p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf17_S_SFD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, double p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf17_S_SFD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, double p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf17_S_SFD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, double p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf17_S_SFD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, double p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf17_S_SFD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, double p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf17_S_SFD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, double p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf17_S_SFD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, double p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf17_S_SFD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, double p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf17_S_SFD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, double p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf17_S_SFD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, double p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf17_S_SFD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, double p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf17_S_SFD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, double p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf17_S_SFD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, double p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf17_S_SFD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, double p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf17_S_SFD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, double p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf17_S_SFD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, double p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf17_S_SFD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, double p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf17_S_SFD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, double p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf17_S_SFD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, double p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf17_S_SFD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, double p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf17_S_SFD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, double p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf17_S_SFD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, double p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf17_S_SFD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, double p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf17_S_SFD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, double p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf17_S_SFD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, double p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf17_S_SFD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, double p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf17_S_SFD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, double p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf17_S_SFD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, double p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf17_S_SFD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, double p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf17_S_SFD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, double p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf17_S_SFD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, double p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf17_S_SFD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, double p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf17_S_SFD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, double p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf17_S_SFD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, double p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf17_S_SFP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, void* p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf17_S_SFP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, void* p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf17_S_SFP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, void* p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf17_S_SFP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, void* p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf17_S_SFP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, void* p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf17_S_SFP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, void* p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf17_S_SFP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, void* p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf17_S_SFP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, void* p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf17_S_SFP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, void* p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf17_S_SFP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, void* p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf17_S_SFP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, void* p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf17_S_SFP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, void* p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf17_S_SFP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, void* p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf17_S_SFP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, void* p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf17_S_SFP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, void* p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf17_S_SFP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, void* p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf17_S_SFP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, void* p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf17_S_SFP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, void* p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf17_S_SFP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, void* p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf17_S_SFP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, void* p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf17_S_SFP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, void* p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf17_S_SFP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, void* p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf17_S_SFP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, void* p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf17_S_SFP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, void* p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf17_S_SFP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, void* p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf17_S_SFP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, void* p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf17_S_SFP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, void* p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf17_S_SFP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, void* p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf17_S_SFP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, void* p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf17_S_SFP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, void* p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf17_S_SFP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, void* p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf17_S_SFP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, void* p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf17_S_SFP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, void* p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf17_S_SFP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, void* p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf17_S_SFP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, void* p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf17_S_SFP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, void* p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf17_S_SFP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, void* p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf17_S_SFP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, void* p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf17_S_SFP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, void* p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf17_S_SFP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, void* p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf17_S_SFP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, void* p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf17_S_SFP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, void* p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf17_S_SFP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, void* p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf17_S_SFP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, void* p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf17_S_SFP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, void* p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf17_S_SFP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, void* p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf17_S_SFP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, void* p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf17_S_SFP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, void* p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf17_S_SFP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, void* p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf17_S_SFP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, void* p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf17_S_SFP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, void* p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf17_S_SFP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, void* p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf17_S_SFP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, void* p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf17_S_SFP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, void* p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf17_S_SFP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, void* p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf17_S_SFP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, void* p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf17_S_SFP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, void* p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf17_S_SFP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, void* p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf17_S_SFP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, void* p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf17_S_SFP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, void* p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf17_S_SFP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, void* p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf17_S_SFP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, void* p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf17_S_SFP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, void* p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf17_S_SFP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, void* p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf17_S_SFP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, void* p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf17_S_SFP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, void* p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf17_S_SFP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, void* p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf17_S_SFP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, void* p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf17_S_SFP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, void* p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf17_S_SFP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, void* p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf17_S_SFP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, void* p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf17_S_SFP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, void* p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf17_S_SFP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, void* p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf17_S_SFP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, void* p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf17_S_SFP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, void* p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf17_S_SFP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, void* p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf17_S_SFP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, void* p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf17_S_SFP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, void* p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf17_S_SFP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, void* p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf17_S_SFP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, void* p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf17_S_SFP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, void* p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf17_S_SFP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, void* p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf17_S_SFP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, void* p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf17_S_SFP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, void* p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf17_S_SFS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, float p1, struct S_I p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, float, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf17_S_SFS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, float p1, struct S_F p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, float, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf17_S_SFS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, float p1, struct S_D p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, float, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf17_S_SFS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, float p1, struct S_P p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, float, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf17_S_SFS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, float p1, struct S_II p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, float, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf17_S_SFS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, float p1, struct S_IF p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, float, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf17_S_SFS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, float p1, struct S_ID p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, float, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf17_S_SFS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, float p1, struct S_IP p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, float, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf17_S_SFS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, float p1, struct S_FI p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, float, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf17_S_SFS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, float p1, struct S_FF p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, float, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf17_S_SFS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, float p1, struct S_FD p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, float, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf17_S_SFS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, float p1, struct S_FP p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, float, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf17_S_SFS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, float p1, struct S_DI p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, float, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf17_S_SFS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, float p1, struct S_DF p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, float, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf17_S_SFS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, float p1, struct S_DD p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, float, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf17_S_SFS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, float p1, struct S_DP p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, float, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf17_S_SFS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, float p1, struct S_PI p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, float, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf17_S_SFS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, float p1, struct S_PF p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, float, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf17_S_SFS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, float p1, struct S_PD p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, float, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf17_S_SFS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, float p1, struct S_PP p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, float, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf17_S_SFS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, float p1, struct S_III p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, float, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf17_S_SFS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, float p1, struct S_IIF p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, float, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf17_S_SFS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, float p1, struct S_IID p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, float, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf17_S_SFS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, float p1, struct S_IIP p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, float, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf17_S_SFS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, float p1, struct S_IFI p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, float, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf17_S_SFS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, float p1, struct S_IFF p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, float, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf17_S_SFS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, float p1, struct S_IFD p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, float, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf17_S_SFS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, float p1, struct S_IFP p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, float, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf17_S_SFS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, float p1, struct S_IDI p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, float, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf17_S_SFS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, float p1, struct S_IDF p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, float, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf17_S_SFS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, float p1, struct S_IDD p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, float, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf17_S_SFS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, float p1, struct S_IDP p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, float, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf17_S_SFS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, float p1, struct S_IPI p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, float, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf17_S_SFS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, float p1, struct S_IPF p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, float, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf17_S_SFS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, float p1, struct S_IPD p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, float, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf17_S_SFS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, float p1, struct S_IPP p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, float, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf17_S_SFS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, float p1, struct S_FII p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, float, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf17_S_SFS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, float p1, struct S_FIF p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, float, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf17_S_SFS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, float p1, struct S_FID p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, float, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf17_S_SFS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, float p1, struct S_FIP p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, float, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf17_S_SFS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, float p1, struct S_FFI p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, float, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf17_S_SFS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, float p1, struct S_FFF p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, float, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf17_S_SFS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, float p1, struct S_FFD p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, float, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf17_S_SFS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, float p1, struct S_FFP p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, float, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf17_S_SFS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, float p1, struct S_FDI p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, float, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf17_S_SFS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, float p1, struct S_FDF p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, float, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf17_S_SFS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, float p1, struct S_FDD p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, float, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf18_S_SFS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, float p1, struct S_FDP p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, float, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf18_S_SFS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, float p1, struct S_FPI p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, float, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf18_S_SFS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, float p1, struct S_FPF p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, float, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf18_S_SFS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, float p1, struct S_FPD p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, float, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf18_S_SFS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, float p1, struct S_FPP p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, float, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf18_S_SFS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, float p1, struct S_DII p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, float, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf18_S_SFS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, float p1, struct S_DIF p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, float, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf18_S_SFS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, float p1, struct S_DID p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, float, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf18_S_SFS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, float p1, struct S_DIP p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, float, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf18_S_SFS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, float p1, struct S_DFI p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, float, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf18_S_SFS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, float p1, struct S_DFF p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, float, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf18_S_SFS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, float p1, struct S_DFD p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, float, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf18_S_SFS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, float p1, struct S_DFP p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, float, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf18_S_SFS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, float p1, struct S_DDI p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, float, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf18_S_SFS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, float p1, struct S_DDF p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, float, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf18_S_SFS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, float p1, struct S_DDD p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, float, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf18_S_SFS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, float p1, struct S_DDP p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, float, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf18_S_SFS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, float p1, struct S_DPI p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, float, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf18_S_SFS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, float p1, struct S_DPF p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, float, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf18_S_SFS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, float p1, struct S_DPD p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, float, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf18_S_SFS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, float p1, struct S_DPP p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, float, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf18_S_SFS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, float p1, struct S_PII p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, float, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf18_S_SFS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, float p1, struct S_PIF p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, float, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf18_S_SFS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, float p1, struct S_PID p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, float, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf18_S_SFS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, float p1, struct S_PIP p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, float, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf18_S_SFS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, float p1, struct S_PFI p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, float, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf18_S_SFS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, float p1, struct S_PFF p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, float, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf18_S_SFS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, float p1, struct S_PFD p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, float, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf18_S_SFS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, float p1, struct S_PFP p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, float, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf18_S_SFS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, float p1, struct S_PDI p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, float, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf18_S_SFS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, float p1, struct S_PDF p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, float, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf18_S_SFS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, float p1, struct S_PDD p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, float, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf18_S_SFS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, float p1, struct S_PDP p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, float, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf18_S_SFS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, float p1, struct S_PPI p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, float, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf18_S_SFS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, float p1, struct S_PPF p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, float, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf18_S_SFS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, float p1, struct S_PPD p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, float, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf18_S_SFS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, float p1, struct S_PPP p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, float, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf18_S_SDI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, int p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf18_S_SDI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, int p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf18_S_SDI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, int p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf18_S_SDI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, int p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf18_S_SDI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, int p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf18_S_SDI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, int p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf18_S_SDI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, int p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf18_S_SDI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, int p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf18_S_SDI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, int p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf18_S_SDI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, int p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf18_S_SDI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, int p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf18_S_SDI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, int p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf18_S_SDI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, int p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf18_S_SDI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, int p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf18_S_SDI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, int p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf18_S_SDI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, int p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf18_S_SDI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, int p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf18_S_SDI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, int p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf18_S_SDI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, int p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf18_S_SDI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, int p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf18_S_SDI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, int p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf18_S_SDI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, int p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf18_S_SDI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, int p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf18_S_SDI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, int p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf18_S_SDI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, int p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf18_S_SDI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, int p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf18_S_SDI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, int p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf18_S_SDI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, int p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf18_S_SDI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, int p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf18_S_SDI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, int p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf18_S_SDI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, int p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf18_S_SDI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, int p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf18_S_SDI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, int p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf18_S_SDI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, int p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf18_S_SDI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, int p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf18_S_SDI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, int p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf18_S_SDI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, int p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf18_S_SDI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, int p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf18_S_SDI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, int p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf18_S_SDI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, int p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf18_S_SDI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, int p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf18_S_SDI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, int p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf18_S_SDI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, int p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf18_S_SDI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, int p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf18_S_SDI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, int p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf18_S_SDI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, int p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf18_S_SDI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, int p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf18_S_SDI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, int p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf18_S_SDI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, int p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf18_S_SDI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, int p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf18_S_SDI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, int p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf18_S_SDI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, int p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf18_S_SDI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, int p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf18_S_SDI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, int p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf18_S_SDI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, int p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf18_S_SDI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, int p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf18_S_SDI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, int p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf18_S_SDI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, int p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf18_S_SDI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, int p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf18_S_SDI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, int p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf18_S_SDI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, int p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf18_S_SDI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, int p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf18_S_SDI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, int p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf18_S_SDI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, int p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf18_S_SDI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, int p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf18_S_SDI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, int p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf18_S_SDI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, int p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf18_S_SDI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, int p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf18_S_SDI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, int p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf18_S_SDI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, int p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf18_S_SDI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, int p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf18_S_SDI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, int p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf18_S_SDI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, int p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf18_S_SDI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, int p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf18_S_SDI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, int p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf18_S_SDI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, int p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf18_S_SDI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, int p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf18_S_SDI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, int p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf18_S_SDI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, int p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf18_S_SDI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, int p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf18_S_SDI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, int p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf18_S_SDI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, int p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf18_S_SDI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, int p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf18_S_SDI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, int p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf18_S_SDF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, float p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf18_S_SDF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, float p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf18_S_SDF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, float p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf18_S_SDF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, float p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf18_S_SDF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, float p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf18_S_SDF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, float p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf18_S_SDF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, float p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf18_S_SDF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, float p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf18_S_SDF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, float p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf18_S_SDF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, float p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf18_S_SDF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, float p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf18_S_SDF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, float p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf18_S_SDF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, float p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf18_S_SDF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, float p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf18_S_SDF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, float p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf18_S_SDF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, float p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf18_S_SDF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, float p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf18_S_SDF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, float p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf18_S_SDF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, float p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf18_S_SDF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, float p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf18_S_SDF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, float p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf18_S_SDF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, float p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf18_S_SDF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, float p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf18_S_SDF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, float p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf18_S_SDF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, float p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf18_S_SDF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, float p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf18_S_SDF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, float p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf18_S_SDF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, float p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf18_S_SDF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, float p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf18_S_SDF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, float p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf18_S_SDF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, float p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf18_S_SDF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, float p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf18_S_SDF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, float p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf18_S_SDF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, float p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf18_S_SDF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, float p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf18_S_SDF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, float p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf18_S_SDF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, float p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf18_S_SDF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, float p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf18_S_SDF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, float p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf18_S_SDF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, float p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf18_S_SDF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, float p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf18_S_SDF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, float p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf18_S_SDF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, float p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf18_S_SDF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, float p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf18_S_SDF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, float p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf18_S_SDF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, float p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf18_S_SDF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, float p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf18_S_SDF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, float p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf18_S_SDF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, float p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf18_S_SDF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, float p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf18_S_SDF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, float p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf18_S_SDF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, float p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf18_S_SDF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, float p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf18_S_SDF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, float p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf18_S_SDF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, float p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf18_S_SDF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, float p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf18_S_SDF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, float p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf18_S_SDF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, float p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf18_S_SDF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, float p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf18_S_SDF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, float p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf18_S_SDF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, float p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf18_S_SDF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, float p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf18_S_SDF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, float p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf18_S_SDF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, float p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf18_S_SDF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, float p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf18_S_SDF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, float p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf18_S_SDF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, float p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf18_S_SDF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, float p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf18_S_SDF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, float p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf18_S_SDF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, float p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf18_S_SDF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, float p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf18_S_SDF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, float p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf18_S_SDF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, float p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf18_S_SDF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, float p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf18_S_SDF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, float p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf18_S_SDF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, float p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf18_S_SDF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, float p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf18_S_SDF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, float p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf18_S_SDF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, float p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf18_S_SDF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, float p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf18_S_SDF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, float p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf18_S_SDF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, float p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf18_S_SDF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, float p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf18_S_SDF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, float p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf18_S_SDD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, double p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf18_S_SDD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, double p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf18_S_SDD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, double p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf18_S_SDD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, double p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf18_S_SDD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, double p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf18_S_SDD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, double p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf18_S_SDD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, double p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf18_S_SDD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, double p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf18_S_SDD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, double p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf18_S_SDD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, double p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf18_S_SDD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, double p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf18_S_SDD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, double p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf18_S_SDD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, double p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf18_S_SDD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, double p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf18_S_SDD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, double p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf18_S_SDD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, double p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf18_S_SDD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, double p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf18_S_SDD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, double p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf18_S_SDD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, double p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf18_S_SDD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, double p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf18_S_SDD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, double p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf18_S_SDD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, double p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf18_S_SDD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, double p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf18_S_SDD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, double p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf18_S_SDD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, double p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf18_S_SDD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, double p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf18_S_SDD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, double p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf18_S_SDD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, double p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf18_S_SDD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, double p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf18_S_SDD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, double p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf18_S_SDD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, double p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf18_S_SDD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, double p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf18_S_SDD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, double p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf18_S_SDD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, double p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf18_S_SDD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, double p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf18_S_SDD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, double p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf18_S_SDD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, double p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf18_S_SDD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, double p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf18_S_SDD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, double p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf18_S_SDD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, double p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf18_S_SDD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, double p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf18_S_SDD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, double p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf18_S_SDD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, double p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf18_S_SDD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, double p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf18_S_SDD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, double p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf18_S_SDD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, double p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf18_S_SDD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, double p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf18_S_SDD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, double p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf18_S_SDD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, double p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf18_S_SDD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, double p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf18_S_SDD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, double p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf18_S_SDD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, double p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf18_S_SDD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, double p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf18_S_SDD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, double p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf18_S_SDD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, double p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf18_S_SDD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, double p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf18_S_SDD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, double p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf18_S_SDD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, double p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf18_S_SDD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, double p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf18_S_SDD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, double p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf18_S_SDD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, double p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf18_S_SDD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, double p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf18_S_SDD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, double p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf18_S_SDD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, double p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf18_S_SDD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, double p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf18_S_SDD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, double p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf18_S_SDD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, double p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf18_S_SDD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, double p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf18_S_SDD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, double p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf18_S_SDD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, double p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf18_S_SDD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, double p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf18_S_SDD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, double p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf18_S_SDD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, double p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf18_S_SDD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, double p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf18_S_SDD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, double p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf18_S_SDD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, double p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf18_S_SDD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, double p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf18_S_SDD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, double p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf18_S_SDD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, double p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf18_S_SDD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, double p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf18_S_SDD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, double p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf18_S_SDD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, double p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf18_S_SDD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, double p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf18_S_SDD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, double p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf18_S_SDP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, void* p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf18_S_SDP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, void* p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf18_S_SDP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, void* p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf18_S_SDP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, void* p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf18_S_SDP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, void* p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf18_S_SDP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, void* p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf18_S_SDP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, void* p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf18_S_SDP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, void* p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf18_S_SDP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, void* p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf18_S_SDP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, void* p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf18_S_SDP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, void* p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf18_S_SDP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, void* p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf18_S_SDP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, void* p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf18_S_SDP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, void* p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf18_S_SDP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, void* p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf18_S_SDP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, void* p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf18_S_SDP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, void* p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf18_S_SDP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, void* p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf18_S_SDP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, void* p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf18_S_SDP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, void* p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf18_S_SDP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, void* p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf18_S_SDP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, void* p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf18_S_SDP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, void* p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf18_S_SDP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, void* p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf18_S_SDP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, void* p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf18_S_SDP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, void* p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf18_S_SDP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, void* p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf18_S_SDP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, void* p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf18_S_SDP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, void* p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf18_S_SDP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, void* p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf18_S_SDP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, void* p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf18_S_SDP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, void* p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf18_S_SDP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, void* p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf18_S_SDP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, void* p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf18_S_SDP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, void* p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf18_S_SDP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, void* p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf18_S_SDP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, void* p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf18_S_SDP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, void* p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf18_S_SDP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, void* p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf18_S_SDP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, void* p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf18_S_SDP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, void* p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf18_S_SDP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, void* p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf18_S_SDP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, void* p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf18_S_SDP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, void* p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf18_S_SDP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, void* p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf18_S_SDP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, void* p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf18_S_SDP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, void* p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf18_S_SDP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, void* p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf18_S_SDP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, void* p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf18_S_SDP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, void* p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf18_S_SDP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, void* p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf18_S_SDP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, void* p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf18_S_SDP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, void* p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf18_S_SDP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, void* p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf18_S_SDP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, void* p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf18_S_SDP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, void* p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf18_S_SDP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, void* p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf18_S_SDP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, void* p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf18_S_SDP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, void* p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf18_S_SDP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, void* p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf18_S_SDP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, void* p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf18_S_SDP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, void* p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf18_S_SDP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, void* p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf18_S_SDP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, void* p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf18_S_SDP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, void* p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf18_S_SDP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, void* p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf18_S_SDP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, void* p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf18_S_SDP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, void* p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf18_S_SDP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, void* p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf18_S_SDP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, void* p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf18_S_SDP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, void* p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf18_S_SDP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, void* p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf18_S_SDP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, void* p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf18_S_SDP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, void* p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf18_S_SDP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, void* p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf18_S_SDP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, void* p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf18_S_SDP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, void* p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf18_S_SDP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, void* p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf18_S_SDP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, void* p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf18_S_SDP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, void* p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf18_S_SDP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, void* p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf18_S_SDP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, void* p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf18_S_SDP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, void* p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf18_S_SDP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, void* p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf18_S_SDS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, double p1, struct S_I p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, double, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf18_S_SDS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, double p1, struct S_F p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, double, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf18_S_SDS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, double p1, struct S_D p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, double, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf18_S_SDS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, double p1, struct S_P p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, double, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf18_S_SDS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, double p1, struct S_II p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, double, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf18_S_SDS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, double p1, struct S_IF p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, double, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf18_S_SDS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, double p1, struct S_ID p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, double, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf18_S_SDS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, double p1, struct S_IP p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, double, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf18_S_SDS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, double p1, struct S_FI p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, double, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf18_S_SDS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, double p1, struct S_FF p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, double, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf18_S_SDS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, double p1, struct S_FD p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, double, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf18_S_SDS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, double p1, struct S_FP p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, double, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf18_S_SDS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, double p1, struct S_DI p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, double, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf18_S_SDS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, double p1, struct S_DF p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, double, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf18_S_SDS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, double p1, struct S_DD p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, double, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf18_S_SDS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, double p1, struct S_DP p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, double, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf18_S_SDS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, double p1, struct S_PI p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, double, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf18_S_SDS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, double p1, struct S_PF p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, double, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf18_S_SDS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, double p1, struct S_PD p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, double, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf18_S_SDS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, double p1, struct S_PP p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, double, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf18_S_SDS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, double p1, struct S_III p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, double, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf18_S_SDS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, double p1, struct S_IIF p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, double, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf18_S_SDS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, double p1, struct S_IID p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, double, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf18_S_SDS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, double p1, struct S_IIP p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, double, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf18_S_SDS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, double p1, struct S_IFI p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, double, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf18_S_SDS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, double p1, struct S_IFF p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, double, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf18_S_SDS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, double p1, struct S_IFD p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, double, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf18_S_SDS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, double p1, struct S_IFP p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, double, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf18_S_SDS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, double p1, struct S_IDI p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, double, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf18_S_SDS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, double p1, struct S_IDF p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, double, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf18_S_SDS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, double p1, struct S_IDD p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, double, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf18_S_SDS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, double p1, struct S_IDP p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, double, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf18_S_SDS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, double p1, struct S_IPI p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, double, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf18_S_SDS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, double p1, struct S_IPF p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, double, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf18_S_SDS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, double p1, struct S_IPD p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, double, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf18_S_SDS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, double p1, struct S_IPP p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, double, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf18_S_SDS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, double p1, struct S_FII p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, double, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf18_S_SDS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, double p1, struct S_FIF p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, double, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf18_S_SDS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, double p1, struct S_FID p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, double, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf18_S_SDS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, double p1, struct S_FIP p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, double, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf18_S_SDS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, double p1, struct S_FFI p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, double, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf18_S_SDS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, double p1, struct S_FFF p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, double, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf18_S_SDS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, double p1, struct S_FFD p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, double, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf18_S_SDS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, double p1, struct S_FFP p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, double, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf18_S_SDS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, double p1, struct S_FDI p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, double, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf18_S_SDS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, double p1, struct S_FDF p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, double, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf18_S_SDS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, double p1, struct S_FDD p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, double, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf18_S_SDS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, double p1, struct S_FDP p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, double, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf18_S_SDS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, double p1, struct S_FPI p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, double, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf18_S_SDS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, double p1, struct S_FPF p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, double, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf18_S_SDS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, double p1, struct S_FPD p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, double, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf18_S_SDS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, double p1, struct S_FPP p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, double, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf18_S_SDS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, double p1, struct S_DII p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, double, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf18_S_SDS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, double p1, struct S_DIF p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, double, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf18_S_SDS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, double p1, struct S_DID p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, double, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf18_S_SDS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, double p1, struct S_DIP p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, double, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf18_S_SDS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, double p1, struct S_DFI p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, double, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf18_S_SDS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, double p1, struct S_DFF p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, double, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf18_S_SDS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, double p1, struct S_DFD p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, double, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf18_S_SDS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, double p1, struct S_DFP p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, double, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf18_S_SDS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, double p1, struct S_DDI p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, double, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf18_S_SDS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, double p1, struct S_DDF p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, double, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf18_S_SDS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, double p1, struct S_DDD p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, double, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf18_S_SDS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, double p1, struct S_DDP p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, double, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf18_S_SDS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, double p1, struct S_DPI p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, double, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf18_S_SDS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, double p1, struct S_DPF p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, double, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf18_S_SDS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, double p1, struct S_DPD p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, double, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf18_S_SDS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, double p1, struct S_DPP p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, double, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf18_S_SDS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, double p1, struct S_PII p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, double, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf18_S_SDS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, double p1, struct S_PIF p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, double, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf18_S_SDS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, double p1, struct S_PID p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, double, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf18_S_SDS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, double p1, struct S_PIP p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, double, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf18_S_SDS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, double p1, struct S_PFI p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, double, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf18_S_SDS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, double p1, struct S_PFF p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, double, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf18_S_SDS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, double p1, struct S_PFD p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, double, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf18_S_SDS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, double p1, struct S_PFP p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, double, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf18_S_SDS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, double p1, struct S_PDI p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, double, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf18_S_SDS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, double p1, struct S_PDF p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, double, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf18_S_SDS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, double p1, struct S_PDD p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, double, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf18_S_SDS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, double p1, struct S_PDP p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, double, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf18_S_SDS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, double p1, struct S_PPI p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, double, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf18_S_SDS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, double p1, struct S_PPF p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, double, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf18_S_SDS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, double p1, struct S_PPD p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, double, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf18_S_SDS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, double p1, struct S_PPP p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, double, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf18_S_SPI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, int p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf18_S_SPI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, int p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf18_S_SPI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, int p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf18_S_SPI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, int p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf18_S_SPI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, int p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf18_S_SPI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, int p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf18_S_SPI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, int p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf18_S_SPI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, int p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf18_S_SPI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, int p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf18_S_SPI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, int p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf18_S_SPI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, int p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf18_S_SPI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, int p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf18_S_SPI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, int p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf18_S_SPI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, int p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf18_S_SPI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, int p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf18_S_SPI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, int p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf18_S_SPI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, int p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf18_S_SPI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, int p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf18_S_SPI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, int p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf18_S_SPI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, int p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf18_S_SPI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, int p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf18_S_SPI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, int p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf18_S_SPI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, int p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf18_S_SPI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, int p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf18_S_SPI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, int p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf18_S_SPI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, int p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf18_S_SPI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, int p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf18_S_SPI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, int p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf18_S_SPI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, int p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf18_S_SPI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, int p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf18_S_SPI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, int p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf18_S_SPI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, int p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf18_S_SPI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, int p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf18_S_SPI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, int p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf18_S_SPI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, int p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf18_S_SPI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, int p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf18_S_SPI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, int p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf18_S_SPI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, int p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf18_S_SPI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, int p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf18_S_SPI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, int p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf18_S_SPI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, int p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf18_S_SPI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, int p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf18_S_SPI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, int p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf18_S_SPI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, int p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf18_S_SPI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, int p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf18_S_SPI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, int p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf18_S_SPI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, int p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf18_S_SPI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, int p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf18_S_SPI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, int p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf18_S_SPI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, int p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf18_S_SPI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, int p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf18_S_SPI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, int p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf18_S_SPI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, int p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf18_S_SPI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, int p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf18_S_SPI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, int p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf18_S_SPI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, int p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf18_S_SPI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, int p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf18_S_SPI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, int p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf18_S_SPI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, int p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf18_S_SPI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, int p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf18_S_SPI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, int p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf18_S_SPI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, int p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf18_S_SPI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, int p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf18_S_SPI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, int p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf18_S_SPI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, int p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf18_S_SPI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, int p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf18_S_SPI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, int p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf18_S_SPI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, int p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf18_S_SPI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, int p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf18_S_SPI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, int p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf18_S_SPI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, int p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf18_S_SPI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, int p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf18_S_SPI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, int p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf18_S_SPI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, int p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf18_S_SPI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, int p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf18_S_SPI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, int p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf18_S_SPI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, int p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf18_S_SPI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, int p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf18_S_SPI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, int p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf18_S_SPI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, int p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf18_S_SPI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, int p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf18_S_SPI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, int p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf18_S_SPI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, int p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf18_S_SPI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, int p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf18_S_SPF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, float p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf18_S_SPF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, float p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf18_S_SPF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, float p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf18_S_SPF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, float p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf18_S_SPF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, float p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf18_S_SPF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, float p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf18_S_SPF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, float p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf18_S_SPF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, float p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf18_S_SPF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, float p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf18_S_SPF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, float p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf18_S_SPF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, float p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf18_S_SPF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, float p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf18_S_SPF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, float p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf18_S_SPF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, float p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf18_S_SPF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, float p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf18_S_SPF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, float p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf18_S_SPF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, float p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf18_S_SPF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, float p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf18_S_SPF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, float p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf18_S_SPF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, float p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf18_S_SPF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, float p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf18_S_SPF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, float p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf18_S_SPF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, float p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf18_S_SPF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, float p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf18_S_SPF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, float p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf18_S_SPF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, float p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf18_S_SPF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, float p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf18_S_SPF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, float p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf18_S_SPF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, float p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf18_S_SPF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, float p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf18_S_SPF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, float p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf18_S_SPF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, float p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf18_S_SPF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, float p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf18_S_SPF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, float p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf18_S_SPF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, float p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf18_S_SPF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, float p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf18_S_SPF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, float p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf18_S_SPF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, float p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf18_S_SPF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, float p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf18_S_SPF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, float p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf18_S_SPF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, float p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf18_S_SPF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, float p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf18_S_SPF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, float p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf18_S_SPF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, float p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf18_S_SPF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, float p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf18_S_SPF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, float p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf18_S_SPF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, float p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf18_S_SPF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, float p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf18_S_SPF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, float p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf18_S_SPF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, float p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf18_S_SPF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, float p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf18_S_SPF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, float p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf18_S_SPF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, float p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf18_S_SPF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, float p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf18_S_SPF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, float p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf18_S_SPF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, float p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf18_S_SPF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, float p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf18_S_SPF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, float p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf18_S_SPF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, float p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf19_S_SPF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, float p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf19_S_SPF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, float p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf19_S_SPF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, float p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf19_S_SPF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, float p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf19_S_SPF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, float p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf19_S_SPF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, float p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf19_S_SPF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, float p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf19_S_SPF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, float p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf19_S_SPF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, float p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf19_S_SPF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, float p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf19_S_SPF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, float p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf19_S_SPF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, float p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf19_S_SPF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, float p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf19_S_SPF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, float p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf19_S_SPF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, float p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf19_S_SPF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, float p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf19_S_SPF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, float p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf19_S_SPF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, float p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf19_S_SPF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, float p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf19_S_SPF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, float p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf19_S_SPF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, float p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf19_S_SPF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, float p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf19_S_SPF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, float p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf19_S_SPF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, float p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf19_S_SPF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, float p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf19_S_SPD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, double p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf19_S_SPD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, double p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf19_S_SPD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, double p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf19_S_SPD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, double p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf19_S_SPD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, double p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf19_S_SPD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, double p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf19_S_SPD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, double p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf19_S_SPD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, double p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf19_S_SPD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, double p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf19_S_SPD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, double p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf19_S_SPD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, double p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf19_S_SPD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, double p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf19_S_SPD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, double p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf19_S_SPD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, double p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf19_S_SPD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, double p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf19_S_SPD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, double p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf19_S_SPD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, double p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf19_S_SPD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, double p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf19_S_SPD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, double p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf19_S_SPD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, double p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf19_S_SPD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, double p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf19_S_SPD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, double p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf19_S_SPD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, double p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf19_S_SPD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, double p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf19_S_SPD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, double p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf19_S_SPD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, double p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf19_S_SPD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, double p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf19_S_SPD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, double p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf19_S_SPD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, double p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf19_S_SPD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, double p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf19_S_SPD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, double p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf19_S_SPD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, double p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf19_S_SPD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, double p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf19_S_SPD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, double p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf19_S_SPD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, double p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf19_S_SPD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, double p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf19_S_SPD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, double p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf19_S_SPD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, double p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf19_S_SPD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, double p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf19_S_SPD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, double p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf19_S_SPD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, double p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf19_S_SPD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, double p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf19_S_SPD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, double p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf19_S_SPD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, double p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf19_S_SPD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, double p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf19_S_SPD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, double p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf19_S_SPD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, double p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf19_S_SPD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, double p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf19_S_SPD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, double p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf19_S_SPD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, double p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf19_S_SPD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, double p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf19_S_SPD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, double p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf19_S_SPD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, double p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf19_S_SPD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, double p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf19_S_SPD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, double p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf19_S_SPD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, double p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf19_S_SPD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, double p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf19_S_SPD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, double p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf19_S_SPD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, double p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf19_S_SPD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, double p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf19_S_SPD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, double p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf19_S_SPD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, double p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf19_S_SPD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, double p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf19_S_SPD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, double p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf19_S_SPD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, double p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf19_S_SPD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, double p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf19_S_SPD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, double p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf19_S_SPD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, double p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf19_S_SPD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, double p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf19_S_SPD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, double p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf19_S_SPD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, double p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf19_S_SPD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, double p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf19_S_SPD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, double p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf19_S_SPD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, double p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf19_S_SPD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, double p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf19_S_SPD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, double p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf19_S_SPD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, double p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf19_S_SPD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, double p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf19_S_SPD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, double p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf19_S_SPD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, double p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf19_S_SPD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, double p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf19_S_SPD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, double p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf19_S_SPD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, double p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf19_S_SPD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, double p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf19_S_SPP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, void* p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf19_S_SPP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, void* p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf19_S_SPP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, void* p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf19_S_SPP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, void* p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf19_S_SPP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, void* p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf19_S_SPP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, void* p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf19_S_SPP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, void* p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf19_S_SPP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, void* p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf19_S_SPP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, void* p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf19_S_SPP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, void* p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf19_S_SPP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, void* p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf19_S_SPP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, void* p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf19_S_SPP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, void* p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf19_S_SPP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, void* p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf19_S_SPP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, void* p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf19_S_SPP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, void* p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf19_S_SPP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, void* p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf19_S_SPP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, void* p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf19_S_SPP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, void* p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf19_S_SPP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, void* p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf19_S_SPP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, void* p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf19_S_SPP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, void* p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf19_S_SPP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, void* p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf19_S_SPP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, void* p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf19_S_SPP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, void* p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf19_S_SPP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, void* p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf19_S_SPP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, void* p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf19_S_SPP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, void* p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf19_S_SPP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, void* p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf19_S_SPP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, void* p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf19_S_SPP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, void* p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf19_S_SPP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, void* p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf19_S_SPP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, void* p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf19_S_SPP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, void* p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf19_S_SPP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, void* p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf19_S_SPP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, void* p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf19_S_SPP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, void* p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf19_S_SPP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, void* p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf19_S_SPP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, void* p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf19_S_SPP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, void* p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf19_S_SPP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, void* p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf19_S_SPP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, void* p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf19_S_SPP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, void* p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf19_S_SPP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, void* p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf19_S_SPP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, void* p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf19_S_SPP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, void* p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf19_S_SPP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, void* p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf19_S_SPP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, void* p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf19_S_SPP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, void* p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf19_S_SPP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, void* p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf19_S_SPP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, void* p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf19_S_SPP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, void* p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf19_S_SPP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, void* p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf19_S_SPP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, void* p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf19_S_SPP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, void* p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf19_S_SPP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, void* p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf19_S_SPP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, void* p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf19_S_SPP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, void* p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf19_S_SPP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, void* p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf19_S_SPP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, void* p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf19_S_SPP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, void* p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf19_S_SPP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, void* p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf19_S_SPP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, void* p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf19_S_SPP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, void* p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf19_S_SPP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, void* p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf19_S_SPP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, void* p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf19_S_SPP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, void* p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf19_S_SPP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, void* p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf19_S_SPP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, void* p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf19_S_SPP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, void* p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf19_S_SPP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, void* p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf19_S_SPP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, void* p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf19_S_SPP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, void* p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf19_S_SPP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, void* p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf19_S_SPP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, void* p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf19_S_SPP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, void* p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf19_S_SPP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, void* p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf19_S_SPP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, void* p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf19_S_SPP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, void* p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf19_S_SPP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, void* p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf19_S_SPP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, void* p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf19_S_SPP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, void* p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf19_S_SPP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, void* p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf19_S_SPP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, void* p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf19_S_SPS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, void* p1, struct S_I p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, void*, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf19_S_SPS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, void* p1, struct S_F p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, void*, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf19_S_SPS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, void* p1, struct S_D p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, void*, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf19_S_SPS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, void* p1, struct S_P p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, void*, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf19_S_SPS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, void* p1, struct S_II p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, void*, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf19_S_SPS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, void* p1, struct S_IF p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, void*, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf19_S_SPS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, void* p1, struct S_ID p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, void*, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf19_S_SPS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, void* p1, struct S_IP p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, void*, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf19_S_SPS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, void* p1, struct S_FI p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, void*, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf19_S_SPS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, void* p1, struct S_FF p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, void*, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf19_S_SPS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, void* p1, struct S_FD p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, void*, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf19_S_SPS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, void* p1, struct S_FP p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, void*, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf19_S_SPS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, void* p1, struct S_DI p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, void*, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf19_S_SPS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, void* p1, struct S_DF p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, void*, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf19_S_SPS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, void* p1, struct S_DD p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, void*, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf19_S_SPS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, void* p1, struct S_DP p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, void*, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf19_S_SPS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, void* p1, struct S_PI p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, void*, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf19_S_SPS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, void* p1, struct S_PF p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, void*, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf19_S_SPS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, void* p1, struct S_PD p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, void*, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf19_S_SPS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, void* p1, struct S_PP p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, void*, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf19_S_SPS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, void* p1, struct S_III p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, void*, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf19_S_SPS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, void* p1, struct S_IIF p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, void*, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf19_S_SPS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, void* p1, struct S_IID p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, void*, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf19_S_SPS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, void* p1, struct S_IIP p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, void*, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf19_S_SPS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, void* p1, struct S_IFI p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, void*, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf19_S_SPS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, void* p1, struct S_IFF p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, void*, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf19_S_SPS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, void* p1, struct S_IFD p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, void*, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf19_S_SPS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, void* p1, struct S_IFP p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, void*, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf19_S_SPS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, void* p1, struct S_IDI p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, void*, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf19_S_SPS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, void* p1, struct S_IDF p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, void*, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf19_S_SPS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, void* p1, struct S_IDD p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, void*, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf19_S_SPS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, void* p1, struct S_IDP p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, void*, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf19_S_SPS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, void* p1, struct S_IPI p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, void*, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf19_S_SPS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, void* p1, struct S_IPF p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, void*, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf19_S_SPS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, void* p1, struct S_IPD p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, void*, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf19_S_SPS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, void* p1, struct S_IPP p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, void*, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf19_S_SPS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, void* p1, struct S_FII p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, void*, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf19_S_SPS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, void* p1, struct S_FIF p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, void*, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf19_S_SPS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, void* p1, struct S_FID p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, void*, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf19_S_SPS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, void* p1, struct S_FIP p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, void*, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf19_S_SPS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, void* p1, struct S_FFI p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, void*, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf19_S_SPS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, void* p1, struct S_FFF p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, void*, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf19_S_SPS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, void* p1, struct S_FFD p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, void*, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf19_S_SPS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, void* p1, struct S_FFP p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, void*, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf19_S_SPS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, void* p1, struct S_FDI p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, void*, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf19_S_SPS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, void* p1, struct S_FDF p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, void*, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf19_S_SPS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, void* p1, struct S_FDD p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, void*, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf19_S_SPS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, void* p1, struct S_FDP p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, void*, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf19_S_SPS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, void* p1, struct S_FPI p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, void*, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf19_S_SPS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, void* p1, struct S_FPF p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, void*, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf19_S_SPS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, void* p1, struct S_FPD p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, void*, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf19_S_SPS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, void* p1, struct S_FPP p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, void*, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf19_S_SPS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, void* p1, struct S_DII p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, void*, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf19_S_SPS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, void* p1, struct S_DIF p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, void*, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf19_S_SPS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, void* p1, struct S_DID p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, void*, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf19_S_SPS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, void* p1, struct S_DIP p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, void*, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf19_S_SPS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, void* p1, struct S_DFI p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, void*, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf19_S_SPS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, void* p1, struct S_DFF p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, void*, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf19_S_SPS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, void* p1, struct S_DFD p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, void*, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf19_S_SPS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, void* p1, struct S_DFP p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, void*, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf19_S_SPS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, void* p1, struct S_DDI p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, void*, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf19_S_SPS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, void* p1, struct S_DDF p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, void*, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf19_S_SPS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, void* p1, struct S_DDD p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, void*, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf19_S_SPS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, void* p1, struct S_DDP p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, void*, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf19_S_SPS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, void* p1, struct S_DPI p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, void*, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf19_S_SPS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, void* p1, struct S_DPF p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, void*, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf19_S_SPS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, void* p1, struct S_DPD p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, void*, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf19_S_SPS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, void* p1, struct S_DPP p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, void*, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf19_S_SPS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, void* p1, struct S_PII p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, void*, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf19_S_SPS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, void* p1, struct S_PIF p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, void*, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf19_S_SPS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, void* p1, struct S_PID p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, void*, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf19_S_SPS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, void* p1, struct S_PIP p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, void*, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf19_S_SPS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, void* p1, struct S_PFI p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, void*, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf19_S_SPS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, void* p1, struct S_PFF p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, void*, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf19_S_SPS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, void* p1, struct S_PFD p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, void*, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf19_S_SPS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, void* p1, struct S_PFP p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, void*, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf19_S_SPS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, void* p1, struct S_PDI p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, void*, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf19_S_SPS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, void* p1, struct S_PDF p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, void*, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf19_S_SPS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, void* p1, struct S_PDD p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, void*, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf19_S_SPS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, void* p1, struct S_PDP p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, void*, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf19_S_SPS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, void* p1, struct S_PPI p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, void*, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf19_S_SPS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, void* p1, struct S_PPF p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, void*, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf19_S_SPS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, void* p1, struct S_PPD p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, void*, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf19_S_SPS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, void* p1, struct S_PPP p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, void*, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf19_S_SSI_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, int p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf19_S_SSI_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, int p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf19_S_SSI_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, int p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf19_S_SSI_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, int p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf19_S_SSI_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, int p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf19_S_SSI_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, int p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf19_S_SSI_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, int p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf19_S_SSI_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, int p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf19_S_SSI_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, int p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf19_S_SSI_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, int p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf19_S_SSI_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, int p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf19_S_SSI_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, int p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf19_S_SSI_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, int p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf19_S_SSI_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, int p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf19_S_SSI_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, int p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf19_S_SSI_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, int p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf19_S_SSI_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, int p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf19_S_SSI_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, int p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf19_S_SSI_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, int p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf19_S_SSI_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, int p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf19_S_SSI_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, int p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf19_S_SSI_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, int p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf19_S_SSI_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, int p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf19_S_SSI_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, int p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf19_S_SSI_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, int p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf19_S_SSI_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, int p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf19_S_SSI_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, int p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf19_S_SSI_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, int p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf19_S_SSI_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, int p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf19_S_SSI_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, int p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf19_S_SSI_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, int p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf19_S_SSI_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, int p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf19_S_SSI_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, int p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf19_S_SSI_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, int p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf19_S_SSI_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, int p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf19_S_SSI_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, int p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf19_S_SSI_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, int p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf19_S_SSI_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, int p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf19_S_SSI_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, int p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf19_S_SSI_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, int p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf19_S_SSI_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, int p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf19_S_SSI_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, int p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf19_S_SSI_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, int p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf19_S_SSI_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, int p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf19_S_SSI_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, int p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf19_S_SSI_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, int p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf19_S_SSI_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, int p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf19_S_SSI_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, int p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf19_S_SSI_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, int p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf19_S_SSI_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, int p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf19_S_SSI_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, int p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf19_S_SSI_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, int p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf19_S_SSI_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, int p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf19_S_SSI_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, int p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf19_S_SSI_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, int p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf19_S_SSI_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, int p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf19_S_SSI_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, int p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf19_S_SSI_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, int p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf19_S_SSI_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, int p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf19_S_SSI_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, int p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf19_S_SSI_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, int p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf19_S_SSI_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, int p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf19_S_SSI_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, int p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf19_S_SSI_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, int p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf19_S_SSI_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, int p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf19_S_SSI_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, int p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf19_S_SSI_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, int p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf19_S_SSI_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, int p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf19_S_SSI_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, int p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf19_S_SSI_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, int p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf19_S_SSI_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, int p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf19_S_SSI_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, int p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf19_S_SSI_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, int p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf19_S_SSI_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, int p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf19_S_SSI_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, int p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf19_S_SSI_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, int p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf19_S_SSI_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, int p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf19_S_SSI_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, int p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf19_S_SSI_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, int p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf19_S_SSI_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, int p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf19_S_SSI_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, int p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf19_S_SSI_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, int p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf19_S_SSI_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, int p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf19_S_SSI_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, int p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, int)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf19_S_SSF_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, float p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf19_S_SSF_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, float p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf19_S_SSF_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, float p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf19_S_SSF_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, float p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf19_S_SSF_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, float p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf19_S_SSF_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, float p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf19_S_SSF_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, float p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf19_S_SSF_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, float p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf19_S_SSF_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, float p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf19_S_SSF_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, float p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf19_S_SSF_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, float p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf19_S_SSF_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, float p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf19_S_SSF_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, float p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf19_S_SSF_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, float p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf19_S_SSF_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, float p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf19_S_SSF_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, float p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf19_S_SSF_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, float p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf19_S_SSF_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, float p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf19_S_SSF_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, float p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf19_S_SSF_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, float p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf19_S_SSF_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, float p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf19_S_SSF_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, float p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf19_S_SSF_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, float p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf19_S_SSF_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, float p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf19_S_SSF_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, float p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf19_S_SSF_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, float p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf19_S_SSF_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, float p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf19_S_SSF_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, float p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf19_S_SSF_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, float p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf19_S_SSF_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, float p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf19_S_SSF_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, float p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf19_S_SSF_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, float p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf19_S_SSF_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, float p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf19_S_SSF_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, float p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf19_S_SSF_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, float p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf19_S_SSF_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, float p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf19_S_SSF_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, float p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf19_S_SSF_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, float p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf19_S_SSF_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, float p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf19_S_SSF_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, float p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf19_S_SSF_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, float p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf19_S_SSF_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, float p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf19_S_SSF_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, float p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf19_S_SSF_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, float p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf19_S_SSF_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, float p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf19_S_SSF_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, float p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf19_S_SSF_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, float p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf19_S_SSF_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, float p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf19_S_SSF_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, float p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf19_S_SSF_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, float p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf19_S_SSF_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, float p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf19_S_SSF_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, float p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf19_S_SSF_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, float p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf19_S_SSF_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, float p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf19_S_SSF_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, float p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf19_S_SSF_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, float p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf19_S_SSF_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, float p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf19_S_SSF_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, float p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf19_S_SSF_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, float p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf19_S_SSF_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, float p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf19_S_SSF_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, float p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf19_S_SSF_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, float p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf19_S_SSF_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, float p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf19_S_SSF_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, float p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf19_S_SSF_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, float p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf19_S_SSF_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, float p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf19_S_SSF_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, float p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf19_S_SSF_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, float p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf19_S_SSF_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, float p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf19_S_SSF_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, float p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf19_S_SSF_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, float p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf19_S_SSF_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, float p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf19_S_SSF_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, float p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf19_S_SSF_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, float p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf19_S_SSF_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, float p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf19_S_SSF_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, float p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf19_S_SSF_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, float p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf19_S_SSF_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, float p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf19_S_SSF_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, float p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf19_S_SSF_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, float p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf19_S_SSF_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, float p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf19_S_SSF_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, float p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf19_S_SSF_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, float p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf19_S_SSF_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, float p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, float)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf19_S_SSD_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, double p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf19_S_SSD_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, double p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf19_S_SSD_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, double p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf19_S_SSD_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, double p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf19_S_SSD_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, double p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf19_S_SSD_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, double p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf19_S_SSD_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, double p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf19_S_SSD_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, double p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf19_S_SSD_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, double p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf19_S_SSD_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, double p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf19_S_SSD_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, double p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf19_S_SSD_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, double p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf19_S_SSD_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, double p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf19_S_SSD_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, double p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf19_S_SSD_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, double p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf19_S_SSD_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, double p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf19_S_SSD_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, double p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf19_S_SSD_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, double p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf19_S_SSD_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, double p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf19_S_SSD_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, double p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf19_S_SSD_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, double p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf19_S_SSD_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, double p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf19_S_SSD_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, double p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf19_S_SSD_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, double p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf19_S_SSD_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, double p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf19_S_SSD_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, double p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf19_S_SSD_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, double p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf19_S_SSD_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, double p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf19_S_SSD_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, double p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf19_S_SSD_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, double p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf19_S_SSD_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, double p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf19_S_SSD_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, double p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf19_S_SSD_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, double p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf19_S_SSD_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, double p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf19_S_SSD_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, double p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf19_S_SSD_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, double p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf19_S_SSD_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, double p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf19_S_SSD_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, double p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf19_S_SSD_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, double p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf19_S_SSD_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, double p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf19_S_SSD_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, double p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf19_S_SSD_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, double p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf19_S_SSD_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, double p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf19_S_SSD_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, double p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf19_S_SSD_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, double p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf19_S_SSD_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, double p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf19_S_SSD_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, double p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf19_S_SSD_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, double p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf19_S_SSD_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, double p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf19_S_SSD_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, double p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf19_S_SSD_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, double p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf19_S_SSD_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, double p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf19_S_SSD_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, double p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf19_S_SSD_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, double p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf19_S_SSD_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, double p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf19_S_SSD_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, double p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf19_S_SSD_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, double p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf19_S_SSD_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, double p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf19_S_SSD_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, double p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf19_S_SSD_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, double p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf19_S_SSD_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, double p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf19_S_SSD_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, double p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf19_S_SSD_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, double p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf19_S_SSD_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, double p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf19_S_SSD_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, double p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf19_S_SSD_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, double p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf19_S_SSD_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, double p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf19_S_SSD_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, double p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf19_S_SSD_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, double p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf19_S_SSD_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, double p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf19_S_SSD_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, double p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf19_S_SSD_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, double p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf19_S_SSD_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, double p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf19_S_SSD_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, double p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf19_S_SSD_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, double p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf19_S_SSD_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, double p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf19_S_SSD_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, double p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf19_S_SSD_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, double p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf19_S_SSD_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, double p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf19_S_SSD_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, double p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf19_S_SSD_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, double p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf19_S_SSD_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, double p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf19_S_SSD_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, double p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf19_S_SSD_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, double p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, double)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf19_S_SSP_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, void* p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf19_S_SSP_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, void* p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf19_S_SSP_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, void* p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf19_S_SSP_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, void* p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf19_S_SSP_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, void* p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf19_S_SSP_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, void* p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf19_S_SSP_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, void* p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf19_S_SSP_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, void* p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf19_S_SSP_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, void* p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf19_S_SSP_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, void* p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf19_S_SSP_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, void* p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf19_S_SSP_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, void* p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf19_S_SSP_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, void* p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf19_S_SSP_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, void* p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf19_S_SSP_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, void* p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf19_S_SSP_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, void* p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf19_S_SSP_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, void* p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf19_S_SSP_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, void* p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf19_S_SSP_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, void* p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf19_S_SSP_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, void* p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf19_S_SSP_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, void* p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf19_S_SSP_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, void* p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf19_S_SSP_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, void* p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf19_S_SSP_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, void* p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf19_S_SSP_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, void* p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf19_S_SSP_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, void* p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf19_S_SSP_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, void* p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf19_S_SSP_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, void* p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf19_S_SSP_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, void* p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf19_S_SSP_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, void* p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf19_S_SSP_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, void* p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf19_S_SSP_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, void* p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf19_S_SSP_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, void* p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf19_S_SSP_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, void* p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf19_S_SSP_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, void* p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf19_S_SSP_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, void* p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf19_S_SSP_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, void* p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf19_S_SSP_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, void* p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf19_S_SSP_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, void* p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf19_S_SSP_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, void* p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf19_S_SSP_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, void* p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf19_S_SSP_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, void* p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf19_S_SSP_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, void* p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf19_S_SSP_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, void* p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf19_S_SSP_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, void* p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf19_S_SSP_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, void* p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf19_S_SSP_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, void* p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf19_S_SSP_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, void* p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf19_S_SSP_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, void* p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf19_S_SSP_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, void* p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf19_S_SSP_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, void* p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf19_S_SSP_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, void* p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf19_S_SSP_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, void* p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf19_S_SSP_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, void* p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf19_S_SSP_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, void* p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf19_S_SSP_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, void* p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf19_S_SSP_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, void* p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf19_S_SSP_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, void* p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf19_S_SSP_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, void* p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf19_S_SSP_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, void* p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf19_S_SSP_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, void* p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf19_S_SSP_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, void* p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf19_S_SSP_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, void* p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf19_S_SSP_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, void* p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf19_S_SSP_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, void* p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf19_S_SSP_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, void* p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf19_S_SSP_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, void* p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf19_S_SSP_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, void* p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf19_S_SSP_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, void* p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf19_S_SSP_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, void* p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf19_S_SSP_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, void* p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf20_S_SSP_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, void* p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf20_S_SSP_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, void* p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf20_S_SSP_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, void* p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf20_S_SSP_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, void* p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf20_S_SSP_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, void* p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf20_S_SSP_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, void* p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf20_S_SSP_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, void* p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf20_S_SSP_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, void* p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf20_S_SSP_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, void* p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf20_S_SSP_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, void* p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf20_S_SSP_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, void* p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf20_S_SSP_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, void* p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf20_S_SSP_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, void* p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, void*)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_I sf20_S_SSS_I(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_I p0, struct S_I p1, struct S_I p2,  struct S_I (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_I, struct S_I, struct S_I)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_F sf20_S_SSS_F(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_F p0, struct S_F p1, struct S_F p2,  struct S_F (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_F, struct S_F, struct S_F)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_D sf20_S_SSS_D(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_D p0, struct S_D p1, struct S_D p2,  struct S_D (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_D, struct S_D, struct S_D)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_P sf20_S_SSS_P(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_P p0, struct S_P p1, struct S_P p2,  struct S_P (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_P, struct S_P, struct S_P)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_II sf20_S_SSS_II(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_II p0, struct S_II p1, struct S_II p2,  struct S_II (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_II, struct S_II, struct S_II)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IF sf20_S_SSS_IF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IF p0, struct S_IF p1, struct S_IF p2,  struct S_IF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IF, struct S_IF, struct S_IF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_ID sf20_S_SSS_ID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_ID p0, struct S_ID p1, struct S_ID p2,  struct S_ID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_ID, struct S_ID, struct S_ID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IP sf20_S_SSS_IP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IP p0, struct S_IP p1, struct S_IP p2,  struct S_IP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IP, struct S_IP, struct S_IP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FI sf20_S_SSS_FI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FI p0, struct S_FI p1, struct S_FI p2,  struct S_FI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FI, struct S_FI, struct S_FI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FF sf20_S_SSS_FF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FF p0, struct S_FF p1, struct S_FF p2,  struct S_FF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FF, struct S_FF, struct S_FF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FD sf20_S_SSS_FD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FD p0, struct S_FD p1, struct S_FD p2,  struct S_FD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FD, struct S_FD, struct S_FD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FP sf20_S_SSS_FP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FP p0, struct S_FP p1, struct S_FP p2,  struct S_FP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FP, struct S_FP, struct S_FP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DI sf20_S_SSS_DI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DI p0, struct S_DI p1, struct S_DI p2,  struct S_DI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DI, struct S_DI, struct S_DI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DF sf20_S_SSS_DF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DF p0, struct S_DF p1, struct S_DF p2,  struct S_DF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DF, struct S_DF, struct S_DF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DD sf20_S_SSS_DD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DD p0, struct S_DD p1, struct S_DD p2,  struct S_DD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DD, struct S_DD, struct S_DD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DP sf20_S_SSS_DP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DP p0, struct S_DP p1, struct S_DP p2,  struct S_DP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DP, struct S_DP, struct S_DP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PI sf20_S_SSS_PI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PI p0, struct S_PI p1, struct S_PI p2,  struct S_PI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PI, struct S_PI, struct S_PI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PF sf20_S_SSS_PF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PF p0, struct S_PF p1, struct S_PF p2,  struct S_PF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PF, struct S_PF, struct S_PF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PD sf20_S_SSS_PD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PD p0, struct S_PD p1, struct S_PD p2,  struct S_PD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PD, struct S_PD, struct S_PD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PP sf20_S_SSS_PP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PP p0, struct S_PP p1, struct S_PP p2,  struct S_PP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PP, struct S_PP, struct S_PP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_III sf20_S_SSS_III(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_III p0, struct S_III p1, struct S_III p2,  struct S_III (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_III, struct S_III, struct S_III)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIF sf20_S_SSS_IIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIF p0, struct S_IIF p1, struct S_IIF p2,  struct S_IIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIF, struct S_IIF, struct S_IIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IID sf20_S_SSS_IID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IID p0, struct S_IID p1, struct S_IID p2,  struct S_IID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IID, struct S_IID, struct S_IID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IIP sf20_S_SSS_IIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IIP p0, struct S_IIP p1, struct S_IIP p2,  struct S_IIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IIP, struct S_IIP, struct S_IIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFI sf20_S_SSS_IFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFI p0, struct S_IFI p1, struct S_IFI p2,  struct S_IFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFI, struct S_IFI, struct S_IFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFF sf20_S_SSS_IFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFF p0, struct S_IFF p1, struct S_IFF p2,  struct S_IFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFF, struct S_IFF, struct S_IFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFD sf20_S_SSS_IFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFD p0, struct S_IFD p1, struct S_IFD p2,  struct S_IFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFD, struct S_IFD, struct S_IFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IFP sf20_S_SSS_IFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IFP p0, struct S_IFP p1, struct S_IFP p2,  struct S_IFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IFP, struct S_IFP, struct S_IFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDI sf20_S_SSS_IDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDI p0, struct S_IDI p1, struct S_IDI p2,  struct S_IDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDI, struct S_IDI, struct S_IDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDF sf20_S_SSS_IDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDF p0, struct S_IDF p1, struct S_IDF p2,  struct S_IDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDF, struct S_IDF, struct S_IDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDD sf20_S_SSS_IDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDD p0, struct S_IDD p1, struct S_IDD p2,  struct S_IDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDD, struct S_IDD, struct S_IDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IDP sf20_S_SSS_IDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IDP p0, struct S_IDP p1, struct S_IDP p2,  struct S_IDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IDP, struct S_IDP, struct S_IDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPI sf20_S_SSS_IPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPI p0, struct S_IPI p1, struct S_IPI p2,  struct S_IPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPI, struct S_IPI, struct S_IPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPF sf20_S_SSS_IPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPF p0, struct S_IPF p1, struct S_IPF p2,  struct S_IPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPF, struct S_IPF, struct S_IPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPD sf20_S_SSS_IPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPD p0, struct S_IPD p1, struct S_IPD p2,  struct S_IPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPD, struct S_IPD, struct S_IPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_IPP sf20_S_SSS_IPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_IPP p0, struct S_IPP p1, struct S_IPP p2,  struct S_IPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_IPP, struct S_IPP, struct S_IPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FII sf20_S_SSS_FII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FII p0, struct S_FII p1, struct S_FII p2,  struct S_FII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FII, struct S_FII, struct S_FII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIF sf20_S_SSS_FIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIF p0, struct S_FIF p1, struct S_FIF p2,  struct S_FIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIF, struct S_FIF, struct S_FIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FID sf20_S_SSS_FID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FID p0, struct S_FID p1, struct S_FID p2,  struct S_FID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FID, struct S_FID, struct S_FID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FIP sf20_S_SSS_FIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FIP p0, struct S_FIP p1, struct S_FIP p2,  struct S_FIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FIP, struct S_FIP, struct S_FIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFI sf20_S_SSS_FFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFI p0, struct S_FFI p1, struct S_FFI p2,  struct S_FFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFI, struct S_FFI, struct S_FFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFF sf20_S_SSS_FFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFF p0, struct S_FFF p1, struct S_FFF p2,  struct S_FFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFF, struct S_FFF, struct S_FFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFD sf20_S_SSS_FFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFD p0, struct S_FFD p1, struct S_FFD p2,  struct S_FFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFD, struct S_FFD, struct S_FFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FFP sf20_S_SSS_FFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FFP p0, struct S_FFP p1, struct S_FFP p2,  struct S_FFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FFP, struct S_FFP, struct S_FFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDI sf20_S_SSS_FDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDI p0, struct S_FDI p1, struct S_FDI p2,  struct S_FDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDI, struct S_FDI, struct S_FDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDF sf20_S_SSS_FDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDF p0, struct S_FDF p1, struct S_FDF p2,  struct S_FDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDF, struct S_FDF, struct S_FDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDD sf20_S_SSS_FDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDD p0, struct S_FDD p1, struct S_FDD p2,  struct S_FDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDD, struct S_FDD, struct S_FDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FDP sf20_S_SSS_FDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FDP p0, struct S_FDP p1, struct S_FDP p2,  struct S_FDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FDP, struct S_FDP, struct S_FDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPI sf20_S_SSS_FPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPI p0, struct S_FPI p1, struct S_FPI p2,  struct S_FPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPI, struct S_FPI, struct S_FPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPF sf20_S_SSS_FPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPF p0, struct S_FPF p1, struct S_FPF p2,  struct S_FPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPF, struct S_FPF, struct S_FPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPD sf20_S_SSS_FPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPD p0, struct S_FPD p1, struct S_FPD p2,  struct S_FPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPD, struct S_FPD, struct S_FPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_FPP sf20_S_SSS_FPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_FPP p0, struct S_FPP p1, struct S_FPP p2,  struct S_FPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_FPP, struct S_FPP, struct S_FPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DII sf20_S_SSS_DII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DII p0, struct S_DII p1, struct S_DII p2,  struct S_DII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DII, struct S_DII, struct S_DII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIF sf20_S_SSS_DIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIF p0, struct S_DIF p1, struct S_DIF p2,  struct S_DIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIF, struct S_DIF, struct S_DIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DID sf20_S_SSS_DID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DID p0, struct S_DID p1, struct S_DID p2,  struct S_DID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DID, struct S_DID, struct S_DID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DIP sf20_S_SSS_DIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DIP p0, struct S_DIP p1, struct S_DIP p2,  struct S_DIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DIP, struct S_DIP, struct S_DIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFI sf20_S_SSS_DFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFI p0, struct S_DFI p1, struct S_DFI p2,  struct S_DFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFI, struct S_DFI, struct S_DFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFF sf20_S_SSS_DFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFF p0, struct S_DFF p1, struct S_DFF p2,  struct S_DFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFF, struct S_DFF, struct S_DFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFD sf20_S_SSS_DFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFD p0, struct S_DFD p1, struct S_DFD p2,  struct S_DFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFD, struct S_DFD, struct S_DFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DFP sf20_S_SSS_DFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DFP p0, struct S_DFP p1, struct S_DFP p2,  struct S_DFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DFP, struct S_DFP, struct S_DFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDI sf20_S_SSS_DDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDI p0, struct S_DDI p1, struct S_DDI p2,  struct S_DDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDI, struct S_DDI, struct S_DDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDF sf20_S_SSS_DDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDF p0, struct S_DDF p1, struct S_DDF p2,  struct S_DDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDF, struct S_DDF, struct S_DDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDD sf20_S_SSS_DDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDD p0, struct S_DDD p1, struct S_DDD p2,  struct S_DDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDD, struct S_DDD, struct S_DDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DDP sf20_S_SSS_DDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DDP p0, struct S_DDP p1, struct S_DDP p2,  struct S_DDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DDP, struct S_DDP, struct S_DDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPI sf20_S_SSS_DPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPI p0, struct S_DPI p1, struct S_DPI p2,  struct S_DPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPI, struct S_DPI, struct S_DPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPF sf20_S_SSS_DPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPF p0, struct S_DPF p1, struct S_DPF p2,  struct S_DPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPF, struct S_DPF, struct S_DPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPD sf20_S_SSS_DPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPD p0, struct S_DPD p1, struct S_DPD p2,  struct S_DPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPD, struct S_DPD, struct S_DPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_DPP sf20_S_SSS_DPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_DPP p0, struct S_DPP p1, struct S_DPP p2,  struct S_DPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_DPP, struct S_DPP, struct S_DPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PII sf20_S_SSS_PII(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PII p0, struct S_PII p1, struct S_PII p2,  struct S_PII (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PII, struct S_PII, struct S_PII)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIF sf20_S_SSS_PIF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIF p0, struct S_PIF p1, struct S_PIF p2,  struct S_PIF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIF, struct S_PIF, struct S_PIF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PID sf20_S_SSS_PID(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PID p0, struct S_PID p1, struct S_PID p2,  struct S_PID (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PID, struct S_PID, struct S_PID)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PIP sf20_S_SSS_PIP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PIP p0, struct S_PIP p1, struct S_PIP p2,  struct S_PIP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PIP, struct S_PIP, struct S_PIP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFI sf20_S_SSS_PFI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFI p0, struct S_PFI p1, struct S_PFI p2,  struct S_PFI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFI, struct S_PFI, struct S_PFI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFF sf20_S_SSS_PFF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFF p0, struct S_PFF p1, struct S_PFF p2,  struct S_PFF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFF, struct S_PFF, struct S_PFF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFD sf20_S_SSS_PFD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFD p0, struct S_PFD p1, struct S_PFD p2,  struct S_PFD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFD, struct S_PFD, struct S_PFD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PFP sf20_S_SSS_PFP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PFP p0, struct S_PFP p1, struct S_PFP p2,  struct S_PFP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PFP, struct S_PFP, struct S_PFP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDI sf20_S_SSS_PDI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDI p0, struct S_PDI p1, struct S_PDI p2,  struct S_PDI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDI, struct S_PDI, struct S_PDI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDF sf20_S_SSS_PDF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDF p0, struct S_PDF p1, struct S_PDF p2,  struct S_PDF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDF, struct S_PDF, struct S_PDF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDD sf20_S_SSS_PDD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDD p0, struct S_PDD p1, struct S_PDD p2,  struct S_PDD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDD, struct S_PDD, struct S_PDD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PDP sf20_S_SSS_PDP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PDP p0, struct S_PDP p1, struct S_PDP p2,  struct S_PDP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PDP, struct S_PDP, struct S_PDP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPI sf20_S_SSS_PPI(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPI p0, struct S_PPI p1, struct S_PPI p2,  struct S_PPI (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPI, struct S_PPI, struct S_PPI)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPF sf20_S_SSS_PPF(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPF p0, struct S_PPF p1, struct S_PPF p2,  struct S_PPF (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPF, struct S_PPF, struct S_PPF)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPD sf20_S_SSS_PPD(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPD p0, struct S_PPD p1, struct S_PPD p2,  struct S_PPD (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPD, struct S_PPD, struct S_PPD)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
EXPORT struct S_PPP sf20_S_SSS_PPP(long long pf0, long long pf1, long long pf2, long long pf3, long long pf4, long long pf5, long long pf6, long long pf7, double pf8, double pf9, double pf10, double pf11, double pf12, double pf13, double pf14, double pf15, struct S_PPP p0, struct S_PPP p1, struct S_PPP p2,  struct S_PPP (*cb)(long long, long long, long long, long long, long long, long long, long long, long long, double, double, double, double, double, double, double, double, struct S_PPP, struct S_PPP, struct S_PPP)) { return cb(pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9, pf10, pf11, pf12, pf13, pf14, pf15, p0, p1, p2); }
